crontab定時任務執行scrapyd爬蟲

作者: 魯智深 分類: scrapy 發布時間: 2019-10-10 19:56

crontab系統自帶的調度命令,通過crontab命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常適合周期性的日志分析或數據備份等工作。

mac 查看 crontab 是否啟動

1
sudo launchctl list | grep cron

crontab服務的重啟關閉,開啟

mac系統下

1
2
3
sudo /usr/sbin/cron start
sudo /usr/sbin/cron restart
sudo /usr/sbin/cron stop

ubuntu:

1
2
3
$sudo /etc/init.d/cron start
$sudo /etc/init.d/cron stop
$sudo /etc/init.d/cron restart

這里用它來完成scrapyd部署爬蟲定時任務推送功能。

crontab命令

1
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]

命令參數

-u user:用來設定某個用戶的crontab服務;
file:file是命令文件的名字,表示將file做為crontab的任務列表文件并導入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,并將它們載入crontab。
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。

使用-l參數列出crontab文件

1
crontab -l

使用-r參數刪除crontab文件

1
crontab -r

刪除文件后,定時任務不會在執行

crontab的文件格式

基本格式 :
*  *  *  *  *  command
分  時  日  月  周  命令

第1列分鐘0~59

第2列小時0~23(0表示子夜)

第3列日1~31

第4列月1~12

第5列星期0~7(0和7表示星期天)

第6列要運行的命令

追加 crontab 定時任務,每分鐘觸發,會已vim方式呈現

1
crontab -e

執行scrapyd爬蟲命令

1
* * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_spider

再次查看定時任務列表,可以看到定時任務已經添加

1
crontab -l
1
2
3
4
bash-3.2$ crontab -l
* * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_spider
* * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_tv_spider
* * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_variety_show

更多例子:

1、每分鐘執行一次
* * * * *

2、每隔一小時執行一次
00 * * * *
or
* */1 * * * (/表示頻率)

3、每小時的15和30分各執行一次
15,45 * * * * (,表示并列)

4、在每天上午 8- 11時中間每小時 15 ,45分各執行一次
15,45 8-11 * * * command (-表示范圍)

5、每個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 command

6、每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * command

導入預先編好的腳本文件

一般來說,crontab用-e調出vi來編寫,但是在實際工作中經常有這種情況是,編程好了crontab文件,需要導入到生產機器上去。

1
crontab filename

更多命令

名稱 : crontab

使用權限 : 所有使用者

使用方式 :

crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-[-u user]-用標準輸入替代目前的crontab.

crontab-1[user]-列出用戶目前的crontab.

crontab-e[user]-編輯用戶目前的crontab.

crontab-d[user]-刪除用戶目前的crontab.

crontab-c dir- 指定crontab的目錄。

更多關于crontab的內容

如果覺得我的文章對您有用,請隨意打賞。您的支持將鼓勵我繼續創作!

發表評論

電子郵件地址不會被公開。 必填項已用*標注

中了亿元大奖 东北麻将单机版下载 手机用什么app炒 快赢481二拖三 天津十一选五基本走 河北11选5有什么规律 德甲多特蒙德莱比锡 辉煌棋牌游戏手机版本 k线猎手配资 四肖期期准三肖选一肖 qq股票怎么玩