運(yùn)行crontab -e
后會(huì)自動(dòng)跳進(jìn)程序,在最底下一行寫入執(zhí)行命令念搬,必須要按照格式寫抑堡。
格式是* * * * * 命令
,其中前五個(gè)星號分別代表著第幾分鐘朗徊、第幾小時(shí)首妖、每月第幾日、哪個(gè)月荣倾、星期幾悯搔。要按照順序替換為一個(gè)數(shù)字,如果保持舌仍,則表示任意妒貌。
*還可以加運(yùn)算符:
參考文章
*:任何時(shí)間
/:每隔多久
-:連續(xù)時(shí)間
,:不連續(xù)的時(shí)間
# 每2分鐘執(zhí)行
*/2 * * * * echo "hello" >> ~/test.txt
# 每天執(zhí)行
**
動(dòng)態(tài)修改Crontab
我們可以用Python或Shell腳本動(dòng)態(tài)修改crontab:
# 先導(dǎo)出crontab設(shè)置
$ crontab > ./tasks.txt
# 輸入新的crontab設(shè)置到文件中 (也可以直接修改txt文件)
$ echo '# some new command' >> ./tasks.txt
# 導(dǎo)入(覆蓋)到crontab中
$ crontab jobs.txt
# OR
$ cat jobs.txt |crontab
Crontab創(chuàng)建任務(wù)時(shí)報(bào)錯(cuò):crontab: no crontab - using an empty one crontab: "/usr/bin/vi" exited with status 1
image
這個(gè)錯(cuò)誤主要是沒有在bash或zsh中指定文本編輯器的問題铸豁。
直接到~/.bash_profile
或~/.zshrc
文件中添加指定編輯器的語句即可:
export EDITOR=vim
退出后灌曙,重啟Bash或者Zsh即可。