1. 程式人生 > >Linux中定時任務cron簡介

Linux中定時任務cron簡介

have 自己 定時 file sch odi oot 運行 RoCE

1.1 特殊權限u+s /o+t
[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 Jul 13 18:24 /etc/cron.monthly
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
[root@wangweigang w]####crontab –r ==== delet /var/spool/cron/root crontab –r 相當於是刪除
-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]#

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簡介