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
結束
