我正在尝试在 Mac 上设置一个 cron,但似乎它永远无法为我的用户完成创建 crontab。我打开终端并输入:
$ crontab -e
返回的是:
crontab: no crontab for jjmay - using an empty one
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.rBdeP6yv1U" 0L, 0C
然后它就一直在那里等着,直到我关闭窗口,我已经让它运行了长达 20 分钟。我打开另一个终端窗口来检查我的 crontab 是否创建,但什么也没得到。
$ crontab -l
crontab: no crontab for jjmay
关于为什么我无法创建这个,或者我是否可以手动创建我的 crontab 以便可以编辑它,有什么想法吗?
答案1
这与编辑器无关,而是与用户权限有关。首先成为 root:
sudo su -
然后为适当的用户编辑 crontab:
crontab -u username -e
保存文件后,可以通过运行以下命令来验证文件是否正确保存:
crontab -u username -l
答案2
我刚刚遇到了这个问题。在尝试解决该问题时,Google 向我推荐了这里。无论如何,以下是我解决问题的方法。
使用
crontab -e
你做得对。
按“i”插入你的 cronjob。例如,
1 * * * * /用户/Wong/Documents/abc.command
~
记得在行后按回车键。如果你不按回车键,它将像这样
1 * * * * /用户/Wong/Documents/abc.command
按 ESC 并输入 :wq 保存并退出文件。它应该显示“crontab:安装新的 crontab”
我意识到如果你不在行后按回车键,它就不会保存整个内容。
希望能帮助到你。
答案3
显示的窗口是 vi 编辑器。在传统的 unix 系统上,vi 是默认编辑器;看来 Mac OS X 保留了这一传统。
EDITOR
将和环境变量设置VISUAL
为您最喜欢的编辑器的名称(如果不在中,则为完整路径$PATH
)。例如
export EDITOR=emacs VISUAL=emacs
crontab -e
此设置应进入您的~/.profile
(假设 Mac OS X 在您登录时读取该文件;如果有 OSX 方式为整个会话定义环境变量,您可以在那里定义它们)。
答案4
这是我的解决方案:首先修改你的编辑器。
export EDITOR=vim
然后修改.vimrc
autocmd filetype crontab setlocal nobackup nowritebackup
它就会工作了。