Linux系統crontab定時任務設定參數執行個體及常用技巧

來源:互聯網
上載者:User
般情況下,我們在操作和營運VPS、伺服器的時候可能會用到crontab定時任務的配置,比如定時的重啟伺服器、定時備份資料等操作使用的還是比較多的。這裡就離不開使用crontab命令的任務配置,在這篇文章中,老左將會整理較為齊全的crontab命令使用的方法以及常用的執行個體操作。

 

 

從上圖中,我們其實就可以看到crontab具體用法。一共有6個段落,前面5個標示定時的時間設定,後面一個標示檔案的路徑定時執行。

 

第一、crontab安裝

 

一般我們使用的centos或者debian發行版本都內建crontab定時軟體支援的,如果系統不支援,我們只需要通過下面對應的安裝就可以。

 

1、centos安裝crontab

 

 代碼如下 複製代碼

#安裝Crontab
yum install vixie-cron crontabs
#設定開機啟動Crontab
chkconfig crond on
#啟動Crontab
service crond start

 

2、debian安裝crontab

 

 代碼如下 複製代碼

#安裝Crontab
apt-get install cron
#重啟Crontab
/etc/init.d/cron restart

 

確保系統安裝且運行生效之後才可以相關的設定。

 

第二、定時任務案例

 

1、35 * * * * updatedb

 

每隔一小時35分鐘的時候更新一次資料庫。

 

2、*/5 * * * * /usr/local/bin/diskusage.sh

 

每隔5分鐘運行diskusage.sh檔案。

 

3、25,50 1 15 * 2 /usr/local/bin/diskusage.sh

 

每周二1:50AM執行檔案

 

4、00 14 10 3,6,9,12 * /usr/local/bin/diskusage.sh

 

每年3、6、9、12月份第十天下午2點執行。

 

5、00 21 * * Mon,Wed,Fri /usr/local/bin/diskusage.sh admin@laozuo.org

 

每周一、三、五下午9點執行指令碼

 

6、*/5 * * * 1-5 /usr/local/bin/diskusage.sh

 

周一到周五,每五分鐘執行。

 

第三、系統調度

 

 代碼如下 複製代碼

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly

 

如果我們根目錄在執行backup.sh備份命令,使用上面指令碼可以直接替換到/etc/cron.weekly目錄。

 

第四、定時計劃的層級設定

 

我們在操作的時候,每個使用者都可以編輯、查看、刪除crontab定時設定檔。如果根使用者需要改crontab檔案,必須加上'-u'選項來指定使用者名稱。

 

1、編輯crontab檔案的使用者laozuo時候,我們可以使用命令:

 

crontab -u laozuo -e

 

2、移除laozuo使用者的定時設定

 

crontab -u laozuo -r

 

3、查看laozuo定時任務設定檔案

 

crontab -u laozuo -l

 

第四、從檔案中載入crontab

 

我們除了可以手工編輯定時檔案之外,還可以檔案載入到定時檔案中。

 

 代碼如下 複製代碼

cat /root/mycronjobs.txt
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

 

我們需要先上傳編輯好的mycronjobs.txt定時任務檔案到目錄中,然後才可以執行。

 

 代碼如下 複製代碼

crontab /root/mycronjobs.txt

 

通過這個命令檢查驗證。

 

 代碼如下 複製代碼

crontab -l
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

 

這裡我們可以檢查定時檔案是否存在。

 

第五、加入SELinux安全選項

 

 代碼如下 複製代碼

crontab -s /root/mycronjobs/my.txt
SELINUX_ROLE_TYPE=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

 

第六、刪除定時任務工作

 

 代碼如下 複製代碼

[root@linux ~]# crontab -l
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

[root@linux ~]# crontab -r

[root@linux ~]# crontab -l
no crontab for root

 

我們先用-l查看當前的定時任務,然後用-r刪除,然後再檢查已經沒有任務選項。

 

總結,以上6個步驟和方法,就是我們常用的crontab定時檔案配置常用的,一般我們會用的多的是備份和定時啟動等,根據我們實際的需要再進行時間上的調整。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.