2018-04-12 計(jì)劃任務(wù)

1、讓進(jìn)程并行后臺(tái)運(yùn)行的三種方式

方法一:寫(xiě)到腳本里
[root@redhat7 ~]#vim all.sh
#!/bin/bash
ping 172.18.0.1&
ping 127.1.1.1&
[root@redhat7 ~]#chmod a+x all.sh 
[root@redhat7 ~]#./all.sh   ---運(yùn)行這個(gè)腳本發(fā)現(xiàn)兩個(gè)進(jìn)程在后臺(tái)并行運(yùn)行
[root@redhat7 ~]#PING 172.18.0.1 (172.18.0.1) 56(84) bytes of data.
PING 127.1.1.1 (127.1.1.1) 56(84) bytes of data.
64 bytes from 127.1.1.1: icmp_seq=1 ttl=64 time=0.020 ms
64 bytes from 172.18.0.1: icmp_seq=1 ttl=64 time=1.50 ms
64 bytes from 127.1.1.1: icmp_seq=2 ttl=64 time=0.023 ms
方法二:使用小括號(hào)
[root@redhat7 ~]#(ping 172.18.0.1&);(ping 127.1.1.1&)  ---使用小括號(hào),中間加分號(hào)
[root@redhat7 ~]#PING 127.1.1.1 (127.1.1.1) 56(84) bytes of data.
PING 172.18.0.1 (172.18.0.1) 56(84) bytes of data.
64 bytes from 127.1.1.1: icmp_seq=1 ttl=64 time=0.019 ms
64 bytes from 172.18.0.1: icmp_seq=1 ttl=64 time=0.499 ms
64 bytes from 127.1.1.1: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 172.18.0.1: icmp_seq=2 ttl=64 time=0.530 ms
方法三:使用大括號(hào)
[root@redhat7 ~]#{ ping 172.18.0.1& ping 127.1.1.1& } ---注意大括號(hào)前后要有空格
[1] 5921
[2] 5922
[root@redhat7 ~]#PING 172.18.0.1 (172.18.0.1) 56(84) bytes of data.
PING 127.1.1.1 (127.1.1.1) 56(84) bytes of data.
64 bytes from 127.1.1.1: icmp_seq=1 ttl=64 time=0.015 ms
64 bytes from 172.18.0.1: icmp_seq=1 ttl=64 time=2.53 ms
64 bytes from 127.1.1.1: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 172.18.0.1: icmp_seq=2 ttl=64 time=0.450 ms

2典奉、用at命令實(shí)現(xiàn)一次性的計(jì)劃任務(wù)

  • at基本用法
rpm -ql at---首先查看一下at包的服務(wù)名為atd酝掩,這樣就可以查看at服務(wù)是否已經(jīng)打開(kāi)
[root@centos6 ~]#service atd status
atd (pid  1681) is running...
[root@redhat7 at]#systemctl status atd
● atd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-08-23 08:13:29 CST; 12h ago   ---顯示正在運(yùn)行
 Main PID: 683 (atd)
   CGroup: /system.slice/atd.service
           └─683 /usr/sbin/atd -f

Aug 23 08:13:29 redhat7.4.magedu.com systemd[1]: Started Job spooling tools.
Aug 23 08:13:29 redhat7.4.magedu.com systemd[1]: Starting Job spooling tools...
Hint: Some lines were ellipsized, use -l to show in full.
要想使用at命令進(jìn)行一次性的計(jì)劃任務(wù)鳞芙,首先要確定這個(gè)程序是否已經(jīng)打開(kāi)。
[root@redhat7 at]#at 21:30  ---創(chuàng)建計(jì)劃任務(wù)期虾,at是一個(gè)交互式的命令原朝,
讀取鍵盤(pán)輸入,輸入完計(jì)劃任務(wù)后按ctrl+d或ctrl+\正常退出镶苞,而不能用ctrl+c退出
at> wall class is over<EOT>          
job 1 at Wed Aug 23 21:30:00 2017
[root@redhat7 at]#at -l  ---顯示計(jì)劃任務(wù)和作業(yè)編號(hào)
1   Wed Aug 23 21:30:00 2017 a root
[root@redhat7 at]#ls /var/spool/at  
---發(fā)現(xiàn)計(jì)劃任務(wù)存放在這個(gè)目錄下的a00001017e5bca的文件中喳坠,所以重啟電腦計(jì)劃任務(wù)也不會(huì)丟失
a00001017e5bca  spool
[root@redhat7 at]#at -c 1  ---1是用-l顯示的計(jì)劃任務(wù)的編號(hào)
上面命令可以查看計(jì)劃任務(wù)的內(nèi)容,跟cat /var/spool/at/a00001017e5bca的內(nèi)容是一樣的
[root@redhat7 at]#at -d 1  ---刪除計(jì)劃任務(wù)
[root@redhat7 at]#at -V  ---查看at包的版本信息
at version 3.1.13
[root@redhat7 at]#at 21:05  ---創(chuàng)建一個(gè)計(jì)劃任務(wù)是在屏幕上打印一個(gè)xixi
at> echo "xixi"<EOT> 
job 2 at Wed Aug 23 21:05:00 2017
[root@redhat7 at]#ls  ---已經(jīng)將計(jì)劃任務(wù)保存到文件中
a00002017e5bb1  spool
[root@redhat7 at]#date  ---已經(jīng)過(guò)了時(shí)間也沒(méi)有發(fā)現(xiàn)在屏幕上打印
Wed Aug 23 21:05:06 CST 2017
[root@redhat7 at]#at -l  ---看計(jì)劃任務(wù)已經(jīng)沒(méi)有了茂蚓,說(shuō)明計(jì)劃任務(wù)已經(jīng)執(zhí)行了
[root@redhat7 at]#mail  ---打開(kāi)郵件壕鹉,會(huì)收到一封郵件
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N  1 root                  Wed Aug 23 21:05  14/491   "Output from your job        2"
& 1
Message  1:
From root@redhat7.4.magedu.com  Wed Aug 23 21:05:00 2017
Return-Path: <root@redhat7.4.magedu.com>
X-Original-To: root
Delivered-To: root@redhat7.4.magedu.com
Subject: Output from your job        2
To: root@redhat7.4.magedu.com
Date: Wed, 23 Aug 2017 21:05:00 +0800 (CST)
From: root@redhat7.4.magedu.com (root)
Status: R

xixi   ---這是打印的內(nèi)容在郵件里出現(xiàn)了,說(shuō)明有標(biāo)準(zhǔn)輸出時(shí)計(jì)劃任務(wù)不會(huì)在屏幕上打印煌贴,
而是已郵件的方式發(fā)送御板,因?yàn)橛?jì)劃任務(wù)執(zhí)行時(shí)你不一定在電腦跟前,
打印出來(lái)也沒(méi)用牛郑,所以會(huì)發(fā)郵件
& quit   
Held 1 message in /var/spool/mail/root
[root@redhat7 ~]#vim f1   ---創(chuàng)建一個(gè)文件怠肋,寫(xiě)上要執(zhí)行的命令
wall class is over
rm -f /root/all.sh
[root@redhat7 ~]#at -f f1 21:24  ---從指定文件中讀取任務(wù)
job 4 at Wed Aug 23 21:24:00 2017
[root@redhat7 ~]#at -l  ---任務(wù)創(chuàng)建成功
4   Wed Aug 23 21:24:00 2017 a root
[root@redhat7 ~]#  ---任務(wù)執(zhí)行成功
Broadcast message from root@redhat7.4.magedu.com (Wed Aug 23 21:24:00 2017):
class is over
[root@redhat7 ~]#ls  ---all.sh文件已刪除
anaconda-ks.cfg  f1
[root@redhat7 ~]#ll `which at`
-rwsr-xr-x. 1 root root 52944 May 23  2016 /usr/bin/at   ---具有suid權(quán)限,普通用戶(hù)也可以執(zhí)行at命令

總結(jié):at創(chuàng)建計(jì)劃任務(wù)時(shí)最好不要帶標(biāo)準(zhǔn)輸出淹朋,否則也不會(huì)在屏幕上打印笙各,只會(huì)給你發(fā)郵件钉答,郵件多了會(huì)占用空間,發(fā)廣播wall會(huì)在屏幕上打印杈抢,at創(chuàng)建的計(jì)劃任務(wù)時(shí)一次性数尿,執(zhí)行完畢計(jì)劃任務(wù)就會(huì)自動(dòng)消失,/var/spool/at 目錄下的文件也會(huì)自動(dòng)刪除惶楼。如果你就想知道這個(gè)任務(wù)是否執(zhí)行了右蹦,但卻沒(méi)有標(biāo)準(zhǔn)輸出,不會(huì)發(fā)郵件通知歼捐,可以用at -m實(shí)現(xiàn)即使沒(méi)有標(biāo)準(zhǔn)輸出也會(huì)給用戶(hù)發(fā)郵件何陆,默認(rèn)是給root用戶(hù)發(fā)。
at命令來(lái)源的文件具有suid權(quán)限豹储,所以普通用戶(hù)也可以執(zhí)行at命令贷盲,創(chuàng)建計(jì)劃任務(wù)。

TIME:定義出什么時(shí)候進(jìn)行at 這項(xiàng)任務(wù)的時(shí)間剥扣,時(shí)間格式分為以下幾種:
HH:MM [YYYY-mm-dd]---表示小時(shí):分 年-月-日

[root@redhat7 ~]#at 24:00 2018-03-24
at> wall class is over<EOT>
job 11 at Sun Apr 25 00:00:00 2018

noon, midnight, teatime(4pm)巩剖,tomorrow
now+#{minutes,hours,days, OR weeks} ---at now+5minutes 表示5分鐘之后
at -t [[CC]YY]MMDDhhmm[.ss] ---表示世紀(jì)年月日小時(shí)分.秒

[root@redhat7 ~]#at -t 201708232143.30
at> wall class is over<EOT>
job 5 at Wed Aug 23 21:43:00 2017
[root@redhat7 ~]#
Broadcast message from root@redhat7.4.magedu.com (Wed Aug 23 21:43:00 2017):
class is over
  • at的管道和重定向

我們知道at命令可以讀取鍵盤(pán)輸入,那么就可以用標(biāo)準(zhǔn)輸入的重定向和管道來(lái)實(shí)現(xiàn)計(jì)劃任務(wù)

[root@redhat7 ~]#echo "wall class is over"|at 21:49  
---使用管道 
job 7 at Wed Aug 23 21:49:00 2017
[root@redhat7 ~]#at -l
7   Wed Aug 23 21:49:00 2017 a root
[root@redhat7 ~]#echo "touch f2"|at 21:51 
 ---一定要注意我們是把一個(gè)命令傳給at钠怯,所以要用echo佳魔,不用echo
是把命令的執(zhí)行結(jié)果的標(biāo)準(zhǔn)輸出傳給at,touch f2這個(gè)命令沒(méi)有標(biāo)準(zhǔn)輸出
job 8 at Wed Aug 23 21:51:00 2017
[root@redhat7 ~]#at -l
8   Wed Aug 23 21:51:00 2017 = root
[root@redhat7 ~]#at 21:55 <<end  ---也可以用多行重定向
> wall class is over
> rm -f /root/f1
> end
job 9 at Wed Aug 23 21:55:00 2017
[root@redhat7 ~]#at -l
9   Wed Aug 23 21:55:00 2017 a root
[root@redhat7 ~]#vim f1
wall class is over
rm -f /root/f2
[root@redhat7 ~]#at 21:58 <f1  ---可以用標(biāo)準(zhǔn)輸入的重定向
job 10 at Wed Aug 23 21:58:00 2017
[root@redhat7 ~]#at -l
10  Wed Aug 23 21:58:00 2017 a root
[root@redhat7 ~]#
Broadcast message from root@redhat7.4.magedu.com (Wed Aug 23 21:58:01 2017):
class is over
[root@redhat7 ~]#
[root@redhat7 ~]#ls
anaconda-ks.cfg  f1  f3
  • at計(jì)劃任務(wù)的黑名單和白名單

/etc/at.{allow,deny}控制用戶(hù)是否能執(zhí)行at任務(wù)
白名單:/etc/at.allow默認(rèn)不存在晦炊,只有該文件中的用戶(hù)才能執(zhí)行at命令
黑名單:/etc/at.deny默認(rèn)存在吃引,拒絕該文件中用戶(hù)執(zhí)行at命令,而沒(méi)有在at.deny文件中的使用者則可執(zhí)行
如果兩個(gè)文件同時(shí)存在刽锤,則白名單的優(yōu)先級(jí)高,只有在白名單中的用戶(hù)才能執(zhí)行at命令朦佩,就相當(dāng)于黑名單不存在并思。
如果兩個(gè)文件都不存在,只有root 可以執(zhí)行at 命令语稠。
執(zhí)行時(shí)只要在兩個(gè)文件中把用戶(hù)名加上就可以了宋彼。

3、周期性的計(jì)劃任務(wù)cron

相關(guān)的程序包:
cronie: 主程序包仙畦,提供crond守護(hù)進(jìn)程及相關(guān)輔助工具
cronie-anacron:cronie的補(bǔ)充程序输涕,用于監(jiān)控cronie任務(wù)執(zhí)行狀況,如cronie中的任務(wù)在過(guò)去該運(yùn)行的時(shí)間點(diǎn)未能正常運(yùn)行慨畸,則anacron會(huì)隨后啟動(dòng)一次此任務(wù)
crontabs:包含CentOS提供系統(tǒng)維護(hù)任務(wù)
查看一下這個(gè)三個(gè)包都生成哪些文件

[root@redhat7 ~]#rpm -ql cronie
/etc/cron.d  ---root用戶(hù)可以在這個(gè)目錄下創(chuàng)建一個(gè)文件莱坎,格式
和/etc/crontab一樣,就可以定義周期性的計(jì)劃任務(wù)寸士,每個(gè)以root身份
登錄的用戶(hù)可以在這個(gè)目錄下創(chuàng)建自己的周期性計(jì)劃任務(wù)
/etc/cron.d/0hourly
/etc/cron.deny    ---黑名單檐什,在這個(gè)名單中的用戶(hù)將不能執(zhí)行周期性的計(jì)劃任務(wù)
/etc/pam.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/lib/systemd/system/crond.service  ---服務(wù)名
/usr/sbin/crond
/usr/share/doc/cronie-1.4.11
/usr/share/doc/cronie-1.4.11/AUTHORS
/usr/share/doc/cronie-1.4.11/COPYING
/usr/share/doc/cronie-1.4.11/ChangeLog
/usr/share/doc/cronie-1.4.11/INSTALL
/usr/share/doc/cronie-1.4.11/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
[root@redhat7 ~]#rpm -ql crontabs
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly   ---可以將自己寫(xiě)的腳本存放在以上四個(gè)目錄下碴卧,就
可以周期性的執(zhí)行了
/etc/crontab  ---root用戶(hù)可以修改這個(gè)配置文件來(lái)設(shè)置周期性的計(jì)劃任務(wù),只有root用戶(hù)可以修改
/etc/sysconfig/run-parts
/usr/bin/run-parts
/usr/share/man/man4/crontabs.4.gz
/usr/share/man/man4/run-parts.4.gz
[root@redhat7 ~]#rpm -ql cronie-anacron
/etc/anacrontab
/etc/cron.hourly/0anacron
/usr/sbin/anacron
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man8/anacron.8.gz
/var/spool/anacron
/var/spool/anacron/cron.daily
/var/spool/anacron/cron.monthly
/var/spool/anacron/cron.weekly

執(zhí)行任務(wù)之前進(jìn)行的操作
確保crond守護(hù)處于運(yùn)行狀態(tài):
CentOS 7:
systemctl status crond
CentOS 6:
service crond status
計(jì)劃周期性執(zhí)行的任務(wù)提交給crond乃正,到指定時(shí)間會(huì)自動(dòng)運(yùn)行
系統(tǒng)cron任務(wù):系統(tǒng)維護(hù)作業(yè)
/etc/crontab
用戶(hù)cron任務(wù):
crontab命令
日志:/var/log/cron

  • 系統(tǒng)cron任務(wù)
[root@redhat7 log]#vim /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
*/10 * * * 1-5 root /app/diskused.sh  表示周一至周五每十分鐘root用
戶(hù)執(zhí)行/app/diskused.sh這個(gè)腳本
30 4 1,15 * 5 root rm-rf /app/*  ---表示每個(gè)月的1和15號(hào)的4:30或者每
個(gè)月星期五的4:30住册,root用戶(hù)執(zhí)行的命令,這里1和15號(hào)不一定是星
期五瓮具,兩個(gè)時(shí)間發(fā)生沖突荧飞,就會(huì)表示或者的關(guān)系,其他的時(shí)候都是表
示并且的關(guān)系名党,只有這兩個(gè)時(shí)間發(fā)生沖突的時(shí)候才表示或者的關(guān)系
* * * * 1-5 zhang rm -rf /app/*    ---如果換成zhang用戶(hù)去執(zhí)行叹阔,因?yàn)樗麍?zhí)行不了,就會(huì)給root用戶(hù)發(fā)郵件兑巾。

時(shí)間表示法:
如果第一位為以下表示方式
***---表示每**
*/10 --表示每十分鐘執(zhí)行什么操作
30/5---表示從每個(gè)小時(shí)的三十分開(kāi)始每5分鐘執(zhí)行什么操作

時(shí)間格式
@reboot Run once after reboot. ---表示每次重啟執(zhí)行什么操作
@yearly 0 0 1 1 * ---每年的一月一日零點(diǎn)零分
@annually 0 0 1 1 * ---每年的一月一日零點(diǎn)零分
@monthly 0 0 1 * * ---每月的1號(hào)零點(diǎn)零分
@weekly 0 0 * * 0 ---表示每周日的零點(diǎn)零分
@daily 0 0 * * * ----每天得零點(diǎn)零分
@hourly 0 * * * * ---每小時(shí)的0分鐘
示例:每3小時(shí)echo和wall命令
0 */3 * * * centos /bin/echo “howdy”;/usr/bin/wall “welcome to Magedu!”

root用戶(hù)在/etc/cron.d/目錄下創(chuàng)建一個(gè)和/etc/crontab格式相同的文件条获,也可以實(shí)現(xiàn)周期性的計(jì)劃任務(wù),此種方法可以讓多個(gè)以root 身份登錄的用戶(hù)每個(gè)人都擁有自己的計(jì)劃任務(wù)蒋歌,而不用每個(gè)人都在/etc/crontab文件中更改帅掘,造成混亂,不知道是誰(shuí)的計(jì)劃任務(wù)堂油。

實(shí)例

[root@redhat7 ~]#cp /etc/crontab /etc/cron.d/zhangtab  
[root@redhat7 ~]#cd /etc/cron.d
[root@redhat7 cron.d]#ls   ---發(fā)現(xiàn)創(chuàng)建成功
0hourly  zhangtab
[root@redhat7 cron.d]#vim zhangtab   ---格式和 /etc/crontab文件完全相同
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
* * * * * root /app/diskused.sh
~

將自己寫(xiě)好的腳本存放在一下四個(gè)目錄下可以自動(dòng)執(zhí)行周期性的任務(wù)
/etc/cron.hourly/ 腳本
/etc/cron.daily/腳本
/etc/cron.weekly/腳本
/etc/cron.monthly/腳本

  • 用戶(hù)cron任務(wù)
    crontab命令定義修档,每個(gè)用戶(hù)都有專(zhuān)用的cron任務(wù)文件:/var/spool/cron/USERNAME
    crontab命令:
    crontab[-u user] [-l | -r | -e] [-i]
    -l: 列出所有任務(wù);
    -e: 編輯任務(wù)府框;
    -r: 移除所有任務(wù)吱窝;
    -i:同-r一同使用,以交互式模式移除指定任務(wù)
    -u user: 僅root可運(yùn)行迫靖,指定用戶(hù)管理cron任務(wù)
    控制用戶(hù)執(zhí)行計(jì)劃任務(wù):
    /etc/cron.{allow,deny}
    實(shí)例
[root@redhat7 app]#crontab -e
* * * * * touch /app/`date +\%F`.log  ---帶%的要加轉(zhuǎn)義符號(hào)院峡,否則執(zhí)
行不了,或者放到腳本中執(zhí)行
[root@redhat7 app]#crontab -l  ---列出所有任務(wù)
* * * * * touch /app/`date +\%F`.log
[root@redhat7 app]#cd  /var/spool/cron/ ---每個(gè)用戶(hù)都有自己的cron任務(wù)文件
[root@redhat7 cron]#ls
root
[root@redhat7 cron]#cat root  ---看這個(gè)文件相當(dāng)于crontab -l
* * * * * touch /app/`date +\%F`.log
[root@redhat7 app]#ls ----執(zhí)行成功
2017-08-23.log  diskused.sh  menu.sh  scp.sh  yesno.sh
[root@redhat7 app]#crontab -r   ---刪除
[root@redhat7 app]#crontab -l   ---此時(shí)再查看已經(jīng)沒(méi)有了
no crontab for root
[root@redhat7 ~]#su - zheng  ---切換到zheng用戶(hù)
Last login: Wed Aug 23 08:46:44 CST 2017 on pts/1
[zheng@redhat7 ~]$crontab -e   ---編輯
no crontab for zheng - using an empty one
* * * * * wall good morning!
[zheng@redhat7 ~]$crontab -l
* * * * * wall good morning!
[zheng@redhat7 ~]$exit
logout
[root@redhat7 ~]#crontab -l -u zheng  ---管理員可以看其他用戶(hù)的計(jì)劃任務(wù)
* * * * * wall good morning!
[root@redhat7 ~]#crontab -r -u zheng  ---刪除zheng用戶(hù)的計(jì)劃任務(wù)
[root@redhat7 ~]#crontab -l -u zheng  ---列出zheng的計(jì)劃任務(wù)系宜,發(fā)現(xiàn)已經(jīng)刪除了
no crontab for zheng
[root@redhat7 ~]#su - zheng ---切換到zheng用戶(hù)
Last login: Thu Aug 24 08:54:44 CST 2017 on pts/0
[zheng@redhat7 ~]$crontab -e  ---編輯
no crontab for zheng - using an empty one
0 1 * * * wall good morning
[zheng@redhat7 ~]$crontab -l
0 1 * * * wall good morning
[zheng@redhat7 ~]$exit  ---退出
logout
[root@redhat7 ~]#crontab -e -u zheng  ---root用戶(hù)編輯zheng修改zheng的計(jì)劃任務(wù)
0 1 1 * * wall good morning
[root@redhat7 ~]#ll /var/spool/cron/zheng  ---修改之后發(fā)現(xiàn)文件的所有者和所屬組編程root
-rw-------. 1 root root 28 Aug 24 09:04 /var/spool/cron/zheng
[root@redhat7 ~]#su - zheng   ---切換到zheng用戶(hù)
Last login: Thu Aug 24 09:01:45 CST 2017 on pts/0
[zheng@redhat7 ~]$crontab -e  ---發(fā)現(xiàn)仍然可以編輯照激,說(shuō)明crontab這個(gè)命令對(duì)應(yīng)的文件具有suid權(quán)限
0 1 1 * * wall good morning
[root@redhat7 ~]#ll /var/spool/cron/zheng   ---zheng編輯完之后所有者和所屬組又變回zheng
-rw-------. 1 zheng zheng 28 Aug 24 09:08 /var/spool/cron/zheng
[root@redhat7 ~]#echo 'export EDITOR=vim'>/etc/profile.d/cron.sh 
默認(rèn)情況下crontab -e打開(kāi)的時(shí)候使用vi編輯器,要想使用vim編輯
器盹牧,可以用此種方法定義個(gè)變量俩垃,重定向到/etc/profile.d/下的一個(gè)文件中即可

總結(jié):root可以修改其他用戶(hù)的計(jì)劃任務(wù), 修改之后文件的權(quán)限變?yōu)閞oot汰寓,但其他用戶(hù)仍然可以通過(guò)crontab命令編輯口柳,說(shuō)明crontab對(duì)應(yīng)的文件具有suid權(quán)限,和at命令一樣有滑。

4跃闹、at和cron區(qū)別

image.png

注意:運(yùn)行結(jié)果的標(biāo)準(zhǔn)輸出和錯(cuò)誤以郵件通知給相關(guān)用戶(hù),對(duì)于cron任務(wù)來(lái)講,%有特殊用途辣卒;如果在命令中要使用%掷贾,則需要轉(zhuǎn)義,將%放置于單引號(hào)中或者寫(xiě)在腳本中荣茫,則可不用轉(zhuǎn)義想帅。

5、sleep命令

sleep NUMBER[SUFFIX]...
SUFFIX:
s: 秒, 默認(rèn)
m: 分
h: 小時(shí)
d: 天
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啡莉,一起剝皮案震驚了整個(gè)濱河市港准,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咧欣,老刑警劉巖浅缸,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異魄咕,居然都是意外死亡衩椒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)哮兰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)毛萌,“玉大人,你說(shuō)我怎么就攤上這事喝滞「蠼” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵右遭,是天一觀的道長(zhǎng)做盅。 經(jīng)常有香客問(wèn)我,道長(zhǎng)窘哈,這世上最難降的妖魔是什么吹榴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮滚婉,結(jié)果婚禮上腊尚,老公的妹妹穿的比我還像新娘。我一直安慰自己满哪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布劝篷。 她就那樣靜靜地躺著哨鸭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪娇妓。 梳的紋絲不亂的頭發(fā)上像鸡,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼只估。 笑死志群,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蛔钙。 我是一名探鬼主播锌云,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吁脱!你這毒婦竟也來(lái)了桑涎?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤兼贡,失蹤者是張志新(化名)和其女友劉穎攻冷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體遍希,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡等曼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凿蒜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禁谦。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖篙程,靈堂內(nèi)的尸體忽然破棺而出枷畏,到底是詐尸還是另有隱情,我是刑警寧澤虱饿,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布拥诡,位于F島的核電站,受9級(jí)特大地震影響氮发,放射性物質(zhì)發(fā)生泄漏渴肉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一爽冕、第九天 我趴在偏房一處隱蔽的房頂上張望仇祭。 院中可真熱鬧,春花似錦颈畸、人聲如沸乌奇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)礁苗。三九已至,卻和暖如春徙缴,著一層夾襖步出監(jiān)牢的瞬間试伙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疏叨,地道東北人潘靖。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蚤蔓,于是被迫代替她去往敵國(guó)和親卦溢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Linux定時(shí)任務(wù)Crontab命令詳解 linux 系統(tǒng)則是由 cron (crond) 這個(gè)系統(tǒng)服務(wù)來(lái)控制的昌粤。...
    孫燕超閱讀 1,821評(píng)論 0 4
  • Linux 系統(tǒng)提供了使用者控制計(jì)劃任務(wù)的命令 :crontab 命令既绕。 一、crond簡(jiǎn)介 crond是linu...
    happeace閱讀 1,771評(píng)論 0 53
  • 1.安裝cron yum install vixie-cron yum install crontabs vixi...
    Broom閱讀 1,255評(píng)論 0 1
  • 前一天學(xué)習(xí)了 at 命令是針對(duì)僅運(yùn)行一次的任務(wù)涮坐,循環(huán)運(yùn)行的例行性計(jì)劃任務(wù)凄贩,linux系統(tǒng)則是由 cron (cro...
    Zcclucky閱讀 577評(píng)論 0 0
  • 簡(jiǎn)介:Crontab命令常見(jiàn)于Unix和類(lèi)Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令袱讹。本課程通過(guò)對(duì)Cron...
    Amisuer閱讀 4,643評(píng)論 0 1