linux的計划任務,也叫做定時任務
- 查看linux本機的定時任務
crontab -l #查看計划任務
- 編寫自己的計划任務
crontab -e #編輯計划任務
-
刪除任務調度工作
crontab -r //刪除所有任務調度工作 -
學習計划任務的語法格式
分 時 日 月 周 命令絕對路徑
[root@mrcarzy-pc etc]# vim 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 executedminute: 表示分鍾,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
特殊字符:
-
星號(*):代表每的意思,例如month字段如果是星號,則表示每月都執行該命令操作。
-
逗號(,):表示分隔時段的意思,例如,“1,3,5,7,9”。
-
中杠(-):表示一個時間范圍,例如“2-6”表示“2,3,4,5,6”。
-
正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鍾執行一次。
-
-
每分鍾執行一次命令
分 時 日 月 周 命令絕對路徑
* * * * * 命令 -
每小時的3,15分組執行命令
分 時 日 月 周 命令絕對路徑
3,15 * * * * 命令絕對路徑
#在下午8-11點的第3和第15分鍾執行
分 時 日 月 周 命令絕對路徑
3,15 20-23 * * *
#每晚21:30執行命令
分 時 日 月 周 命令絕對路徑
30 21 * * *
#每周六、日的下午1:30執行命令
分 時 日 月 周 命令絕對路徑
30 13 * * 6,7
#每周一到周五的凌晨1點整,清空/tmp目錄的所有文件
分 時 日 月 周 命令絕對路徑
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重啟nginx
分 時 日 月 周 命令絕對路徑
30 21 * 3 * 命令絕對路徑
#每月的1,10,22日的4:45重啟nginx
分 時 日 月 周 命令絕對路徑
45 4 1,10,22 * * systemctl reload nginx
#每個星期一的上午8點到11點的第3和15分鍾執行命令
分 時 日 月 周 命令絕對路徑
3,15 8-11 * * 1
##每月每天凌晨3點30分和中午12點20分執行test.sh腳本
30 3,12 * * * /home/test.sh
##每月每天每隔6小時的每30分鍾執行test.sh腳本
30 */6 * * * /home/test.sh
##每月每天早上8點到下午18點每隔2小時的每30分鍾執行test.sh腳本
30 8-18/2 * * * /etc/init.d/network restart
##每月每天晚上21點30分執行test.sh腳本
30 21 * * * /etc/init.d/network restart
##每月1號、10號、22號凌晨4點45分執行test.sh腳本
45 4 1,10,22 * * /etc/init.d/network restart
##8月份周一、周日凌晨1點10分執行test.sh腳本
10 1 * 8 6,0 /etc/init.d/network restart
##每月每天每小時整點執行test.sh腳本
00 */1 * * * /etc/init.d/network restart
linux系統服務管理命令
-
系統服務(linux安裝的軟件名)
只有通過yum安裝的軟件,才能用這個命令
systemctl 這是centos7系類的命令
service 這是centos6系統的服務管理命令
-
實例:(只有yum安裝的才能使用這個命令)
- 啟停管理nginx服務
systemctl status/start/stop nginx
錯誤處理:
出現 there are stopped jobs 錯誤:
在shell中輸入命令
jobs可以查看停止進程列表
obs -l顯示停止進程的詳細列表可以通過如下命令殺死或者激活停止的進程:
殺死:
kill %1(%1是將要被殺死的job的進程號)激活:
fg %1(%1是將要被激活的job的進程號) fg代表foreground(前台),可以喚醒被suspended(掛起)的進程
