sudo ?crontab ?-e
00 ?12 ?* * * ?python3 ?/home/admin/spiders_crawl/NanPingHorse/np_start.py
20 14 * * * ?/usr/local/bin/python3 ? /home/admin/spiders_crawl/NanPingHorse/np_start.py?
?25 14 * * * cd /home/admin/spiders_crawl/NanPingHorse/NanPingHorse/spiders ?&& ?~/.local/bin/scrapy crawl NanPing
25?17?*?*?*?cd?/home/admin/workspace/Project/spider_projectc?&&?~/.pyenv/py3/bin/scrapy?crawl?cshafc?>?/tmp/logfile/cshafc.log?2>&1
每天中午12點運行程序
今天在使用完crontab后(crontab -e),每次都出現(xiàn)crontab: installing new crontab的提示
用crontab -e 編輯的任務在crontab: installing new crontab后三分鐘之內是不會執(zhí)行的,所以你在測試的時候,至少時間后推三分鐘!
控制臺回顯“crontab:installing new crontab” 表示添加調度任務成功。
第一種方式
修改/etc/crontab文件,這種方式是系統(tǒng)的周期任務,只能root用戶才可以執(zhí)行
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |? .------------- hour (0 - 23)
# |? |? .---------- day of month (1 - 31)
# |? |? |? .------- month (1 - 12) OR jan,feb,mar,apr ...
# |? |? |? |? .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |? |? |? |? |
# *? *? *? *? * user-name? command to be executed
其中MAILTO=root表示如果執(zhí)行指定命令時發(fā)生了錯誤,錯誤信息發(fā)送給誰
自動執(zhí)行命令
minute?? ??? ?# 表示分鐘
hour?? ??? ?# 表示小時
day?? ??? ??? ?# 表示日期
month?? ??? ?# 表示月份
week?? ??? ?# 表示星期,0和7表示周日,1-6各表示周一到周六
星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段條件下每月都執(zhí)行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,"1,2,5,7,8,9"
中杠(-):可以用整數(shù)之間的中杠表示一個整數(shù)范圍,例如"2-6"表示"2,3,4,5,6"
正斜線(/):可以用正斜線指定時間的間隔頻率,例如"0-23/2"在用hour表示每兩小時執(zhí)行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。
例如
* * * * * root /opt/shell.sh?? ??? ?表示每分鐘執(zhí)行/opt/shell.sh目錄
注意:shell.sh中如果有文件操作,那么shell.sh中的文件或目錄需要絕對路徑
第二種方式
crontab -e命令,這種方式是用戶的周期任務,所有用戶都可以使用,會自動寫入到/var/spool/cron/usename中
執(zhí)行該命令后將需要執(zhí)行的周期任務寫進去即可
例如
* * * * * root /opt/a.sh
如果沒有執(zhí)行可以重啟服務service crond restart