因為需要定時並發執行任務,所以查到了crontab這個工具,介紹一下其用法:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
# run-parts 中: 第一段應該定義的是:分鍾,表示每個小時的第幾分鍾來執行。范圍是從0-59
第二段應該定義的是:小時,表示從第幾個小時來執行,范圍是從0-23 第三段應該定義的是:日期,表示從每個月的第幾天執行,范圍從1-31 第四段應該定義的是:月,表示每年的第幾個月來執行,范圍從1-12 第五段應該定義的是:周,表示每周的第幾天執行,范圍從0-6,其中 0表示星期日。 每六段應該定義的是:用戶名,也就是執行程序要通過哪個用戶來執行,這個一般可以省略; 第七段應該定義的是:執行的命令和參數。
方法一:
設置服務器定時啟動
vim/etc/ crontab
#reboot 設定每天10:30重新啟動 30 10 * * * root /sbin/reboot
重新加載配置
/sbin/service crond reload
重啟cron
/sbin/service crond restart
方法二:
直接在命令行下執行
[root@localhost ~]# crontab -e 添加定時
*/10 17-18 * * * root tcpdump -i eth0 tcp port 80 -s 0 -w sohu1.txt
*/10 17-18 * * * root tcpdump -i eth0 tcp port 80 -s 0 -w sohu1.cap
wq退出
[root@localhost ~]# crontab -r 刪除任務
[root@localhost ~]# crontab -l 顯示任務
比如tcpdump 還在后台運行,則可以用killall tcpdump