習(xí)慣了在 linux 中使用 crontab 來(lái)設(shè)置定時(shí)任務(wù)疼阔,于是,想在 macOS 中也用它來(lái)做同樣的事情。
但是,在 macOS 中卻遇到了以下錯(cuò)誤:
$ crontab -e
crontab: no crontab for floodliu - using an empty one
crontab: "/usr/bin/vi" exited with status 1
因?yàn)槲抑坝?brew 安裝過(guò) vim豪硅,因此 /usr/bin/vi
被鏈接到了 vim
:
$ ll /usr/bin/vi
lrwxr-xr-x 1 root wheel 3 9 21 21:47 /usr/bin/vi -> vim
因此,該問(wèn)題可以設(shè)置 EDITOR=vim
來(lái)解決:
$ export EDITOR=vim
$ crontab -e
如果不希望每次使用 crontab -e
前都要這樣設(shè)置挺物,可以把 export EDITOR=vim
寫(xiě)到shell的啟動(dòng)配置文件中懒浮。
- 對(duì)于bash,該文件是
~/.bashrc
- 對(duì)于zsh,該文件是
~/.zshrc
但是砚著,設(shè)置了 EDITOR=vim
之后次伶,再次使用 crontab -e
命令,又報(bào)錯(cuò)如下:
$ crontab -e
crontab: no crontab for floodliu - using an empty one
crontab: temp file must be edited in place
該問(wèn)題可以修改vim配置文件來(lái)解決稽穆。在 ~/.vimrc
中添加以下內(nèi)容:
autocmd filetype crontab set nobackup nowritebackup
至此冠王,就可以正常使用crontab
了。
- 查看crontab命令的用法:
$ man crontab
- 查看crontab定時(shí)任務(wù)的格式:
$ man 5 crontab