是的,crontab是linux系統下自帶的定時任務工具,使用者可以使用crontab工具來自訂自己的排程任務。透過crontab指令,使用者可以在固定的間隔時間執行指定的系統指令或shell腳本,語法「crontab [-u user] file」或「crontab [-u user] [-e|-l|-r]」;時間間隔的單位可以是分鐘、小時、日、月、週及以上的任意組合。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux 系統則是由 cron (crond) 這個系統服務來控制的。 Linux 系統上面原本就有非常多的計畫性工作,因此這個系統服務是預設啟動的。另 外, 由於使用者自己也可以設定排程任務,所以, Linux 系統也提供了使用者控制計畫任務的指令 :crontab
指令。 )
Linux下的任務調度分為兩類,系統任務調度和使用者任務調度。
系統任務排程:
系統週期性所要執行的工作,例如寫入快取資料到硬碟、日誌清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的設定檔。
使用者任務排程:
使用者定期要執行的工作,例如使用者資料備份、定時郵件提醒等。 使用者可以使用 crontab 工具來自訂自己的排程任務。
所有使用者定義的crontab 檔案都被保存在 /var/spool/cron目錄中。其檔案名稱與使用者名稱一致。
crontab是linux系統下自帶的定時任務工具。
#crontab指令詳解
1.指令格式:
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]
透過crontab 指令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、週及以上的任意組合。 這個指令非常設合週期性的日誌分析或資料備份等工作。
3.指令參數:-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。 file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。 -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。 -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。 -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。 -i:在删除用户的crontab文件时给确认提示。
第6列要執行的指令
#crontab 常用方法
crontab -l #查看任务 crontab -e #编辑任务 键入 a 进入编辑模式,进行编辑后 Ctrl+c #退出编辑模式 Shift + w + q #退出编辑 wq 保存并退出
[jingkong@muguangjingkong ~]$ crontab -e ### first crontab */1 * * * * /bin/date >> /home/jingkong/jk-log.txt
[jingkong@muguangjingkong ~]$ crontab -l ### first crontab */1 * * * * /bin/date >> /home/jingkong/jk-log.txt
刪除所有的定時任務
[jingkong@muguangjingkong ~]$ crontab -r
* * * * * command path //
前五個字段可以取整數值,指定何時開始工作,第六個域是字串,即命令字段,其中包括了crontab調度執行的命令。各個字段之
間用spaces和tabs分割。 ###* * * * * 分:1-59,每十分钟*/10 时: 0-23, */2 日: 1 -31 月: 1-12 星期: (0-6)
##每天21:30 执行 30 21 * * * cmd01 ###每个月1,11,21的2:30执行 30 2 1,11,21 * * cmd02 ##每周六或者每周日,1:45执行 45 1 * * 6,0 cmd03 #每天20:00至23:00日 ,每半个小时执行一次 0,30 20-23 * * * cmd04 ##每一小时执行一次 * */1 * * * cmd05
以上是crontab是linux自備的嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!