Linux中定時任務cron簡介
[root@oldboyedu50-lnb ~]# ls -ld /bin/ls /usr/bin/passwd /tmp/ /usr/bin/locate -rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls drwxrwxrwt. 3 root root 4096 Jul 25 16:27 /tmp/ -rwx--s--x. 1 root slocate 38464 Mar 12 2015 /usr/bin/locate -rwsr-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passwd #SUID [root@oldboyedu50-lnb ~]# ll /bin/ls /bin/touch -rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls -rwxr-xr-x. 1 root root 52560 Mar 23 2017 /bin/touch [root@oldboyedu50-lnb ~]# chmod u+s /bin/ls /bin/touch [root@oldboyedu50-lnb ~]# ll /bin/ls /bin/touch -rwsr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls -rwsr-xr-x. 1 root root 52560 Mar 23 2017 /bin/touch [root@oldboyedu50-lnb ~]# chmod u+s /bin/ls [root@oldboyedu50-lnb ~]# ll /bin/ls -rwsr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls [root@oldboyedu50-lnb ~]# stat /bin/ls File: `/bin/ls‘ Size: 117048 Blocks: 232 IO Block: 4096 regular file Device: 803h/2051d Inode: 263579 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-08-06 09:13:37.131651698 +0800
Modify: 2017-03-23 02:52:45.000000000 +0800
Change: 2018-07-25 16:37:29.016952182 +0800
第2章 定時任務(多量)
2.1 定時任務cron
[root@wangweigang w]#ll -d /etc/cron.*
drwxr-xr-x. 2 root root 4096 Aug 3 05:15 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Jul 13 18:26 /etc/cron.daily
-rw-------. 1 root root 0 Aug 24 2016 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Jul 13 18:23 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Sep 27 2011 /etc/cron.weekly
[root@wangweigang w]#
2.2 定時任務cron的命令crontab
[root@oldboyedu50-lnb ~]# #crontab -l === cat /var/spool/cron/root crontab -l查詢相當於是cat
[root@oldboyedu50-lnb ~]# #crontab -e === vi /var/spool/cron/root crontab -e相當於是vim
-v 列出用戶cron作業的狀態
[root@oldboyedu50-lnb ~]# #crontab語法檢查功能(定時任務格式)
2.3 檢查定時任務是否運行? Crond
[root@wangweigang w]#ps -ef |grep crond
root 1597 1 0 Aug07 ? 00:00:00 crond
root 4065 3948 0 16:59 pts/3 00:00:00 grep --color cron
2.4 開機是否自啟動chkconfig |grep crond
[root@wangweigang w]#chkconfig |grep crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2.5 定時任務配置文件格式:
格式:分(minute) 時(hour) 日(day) 月(mouth) 周(week)
2.5.1 什麽時候 做什麽?
一般用於定時備份文件數據而用
每天的上午8點30分,來學校上車(go to school) 每天晚上12點準時,回家自己開車(go to bed)
2.6 每分鐘顯示自己的名字追加到/tmp/name.log中
2.6.1 命令
[root@wangweigang w]#echo wangweigang >>/tmp/name.log
[root@wangweigang w]#cat /tmp/name.log
oldboy
王維港
wangweigang
2.6.2 #書寫定時任務
crontab -e
2.6.3 #檢查
##1.檢查文件內容
[root@wangweigang w]#crontab -l
#printf oldboyedu student at 2018.8.08
-
-
-
-
- echo wangweigang >>/tmp/name.log
##2.檢查日誌
[root@wangweigang w]#cat /tmp/name.log
oldboy
王維港
wangweigang
wangweigang
[root@wangweigang w]#
2.7 每2分鐘同步下系統時間
2.7.1 命令
[root@wangweigang w]#ntpdate ntp1.aliyun.com
8 Aug 17:40:28 ntpdate[4141]: adjust time server 120.25.115.20 offset 0.248269 sec
[root@wangweigang w]#which crond
/usr/sbin/crond
[root@wangweigang w]#
- echo wangweigang >>/tmp/name.log
-
-
-
2.7.2 寫入定時任務
crontab -e
/2 /usr/sbin/crondntpdate ntp1.aliyun.com
2.7.3 檢查
[root@wangweigang w]#crontab -l
#printf oldboyedu student at 2018.8.08
# echo wangweigang >>/tmp/name.log
/2 /usr/sbin/crondntpdate ntp1.aliyun.com
[root@wangweigang w]#
2.8 案例
每天的上午7點到上午11點 每2小時運行CMD命令
00 07-11/2 TF
00 07,09,11 * TF
2.9 開機自啟動
- 23,00-07/1 /application/nginx/sbin/nginx -s reload
00 23,00-07/1 /application/nginx/sbin/nginx -s reload
2.10 自創文件放置腳本
[root@oldboyedu50-lnb ~]# mkdir -p /server/scripts
[root@wangweigang w]# cat show.sh
date +%F_%T
You have new mail in /var/spool/mail/root
[root@wangweigang w]# sh /server/scripts/show.sh
2018-08-08_17:55:26
[root@wangweigang w]#
Linux中定時任務cron簡介