Ubuntu定時執行任務


ubuntu定時執行任務

cron是一個Linux下的后台進程,用來定期的執行一些任務。因為我用的是Ubuntu,所以這篇文章中的所有命令也只能保證在Ubuntu下有效。

1:編輯crontab文件,用來存放你要執行的命令

sudo crontab -e

2:第一次用這個命令,會讓你選擇文本編輯器,我選的是vim
(輸入數字選擇就是了!)

3:添加執行命令

0 7 * * *  /usr/bin/python /root/world.py

這句話的意思就是每天早上七點都會自動執行這個腳本!

4:重啟cron來應用這個計划任務

sudo service cron restart

corntab詳細說明

1:crontab文件的基本格式如下所示

* * * * * command 分 時 天 月 周 命令

crontab中的每一行代表一個定期執行的任務,分為6個部分。前5個部分表示何時執行命令,最后一個部分表示執行的命令。每個部分以空格分隔,除了最后一個部分(命令)可以在內部使用空格之外,其他部分都不能使用空格。前5個部分分別代表:分鍾,小時,天,月,星期,每個部分的取值范圍如下:
分鍾 0 - 59
小時 0 - 23
天 1 - 31
月 1 - 12
星期 0 - 6 0表示星期天
* (星號) 表示任意值,比如在小時部分填寫 * 代表任意小時(每小時)
,(逗號) 可以允許在一個部分中填寫多個值,比如在分鍾部分填寫 1,3 表示一分鍾或三分鍾
/(斜線) 一般配合 * 使用,代表每隔多長時間,比如在小時部分填寫 /2 代表每隔兩分鍾。所以 /1 和 * 沒有區別

2:crontab例子
(1)30 20 * * * date >> /home/date.log //每天的20:30將日期信息追加home目錄下的date.log中
(2)5 20 13,14 * * date >> /home/date.log //每月的13日,14日20:5分將日期信息最追加home目錄下的date.log中
(3)0,10 10,12 * * * date >> /home/date.log //每天10點至12點之間,隔10分鍾將日期信息最追加home目錄下的date.log中
(4)/5 * * * date >> /home/date.log //每5分鍾將日期信息最追加home目錄下的date.log中

3:crontab是UNIX系統下定期執行任務的觸發器。用戶把要定期執行的任務記錄在這個文件下面,然后crond定期的去檢查這個定期執行列表,有要執行的工作時便自動執行。
通過man crontab可以查看到下面的信息
(1)/etc/crond.allow 表示的是允許使用crontab的用戶列表
(2)/etc/crond.deny 表示的是不允許使用crontab的用戶列表

4: crontab常用的幾個命令格式
crontab -l //顯示用戶的crontab文件的內容
crontab -e //編輯用戶的crontab文件的內容
crontab -r //刪除用戶的crontab文件

 

實例分析:

更換成unix的換行符

vim world.py

查看格式

:set ff

 

發現是dos,我們要將其更換成unix

:set ff=unix

1 創建腳本文件world.py,在文件開頭需要加上下面一行

 #!/usr/bin/python

# encoding=utf-8

 

上面這行的作用是說明使用那個解釋器來執行該文件,如果不知道python解釋器在哪,可以使用命令which python來查看

設置編碼格式

2 給該文件添加可執行的權限

  chmod  +x  test.py

  注意:在腳本文件中如果涉及文件操作,請使用絕對路徑,我就是在這上面掉坑里了。

3 添加計划任務

  crontab -e

  在文件中追加一行,* 7 * * * * /usr/bin/python /root/world.py

  保存退出,:wq

4 重啟cron服務

  service cron restart

結束

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM