在服務器中我們經常需要定時自動讓程序自動進行數(shù)據(jù)備份、程序備份、執(zhí)行某個進程等等操作,在linux服務器一般使用crontab實現(xiàn),而windows下使用計劃任務實現(xiàn),crontab是linux系統(tǒng)下比較常用的定時執(zhí)行程序,可以讓程序在無人工干預的情況下自動執(zhí)行某項操作,以下操作僅以cent-os為例。
1、 安裝crontab
yum install vixie-cron crontabs //安裝crontab, //vixie-cron軟件包是cron的主程序 //crontabs軟件包是用來安裝、卸裝、 或列舉用來驅動 cron 守護進程的表格的程序。chkconfig crond on //設置crond進程開機自動啟動service crond start //啟動進程
2、crontab使用方法
crontab -l //查看crontab執(zhí)行任務列表crontab -e //添加crontab執(zhí)行任務crontab -r //刪除該用戶的任務crontab -u<用戶名稱> //指定設定任務到指定用戶
3、crontab命令格式
a) 基本格式
| 格式 | 分鐘minute | 小時hour | 日期dayofmonth | 月份month | 周dayofweek | 操作命令command |
| 取值范圍 | 0~59 | 0~23 | 1~31 | 1~12 | 0~7 | 命令行 |
在crontab中有4個特殊取值,* , - /,這幾個符號分別代碼的意思是
| * | 代表所有,如 0 12 * * * ls 表示每年每月每天12點都執(zhí)行l(wèi)s命令。 |
| , | 代表多個值,如1,60 12 8 9 * ls 表示9月8日12點的1分和16分時執(zhí)行l(wèi)s 命令。 |
| - | 代表區(qū)間值,如0 3-6 * * * ls 表示每天3到6整點執(zhí)行l(wèi)s命令。 |
| /n | 代表每隔n長時間,如0 1 * * * ls 表示每隔1小時執(zhí)行l(wèi)s命令。 |
b)操作實例
每天24點執(zhí)行數(shù)據(jù)備份程序:0 24 * * * /root/backup.sh
每周日3點清理日志程序:0 3 * * 7 /root/clear.sh
新聞熱點
疑難解答
圖片精選