永远不会创建Mac crontab


12

我正在尝试在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以便进行编辑的任何想法?


自从我在OS X中弄乱了crontab文件以来已经有一段时间了,但是我的猜测是:“ / tmp / crontab.rBdeP6yv1U” 0L,0C表示您不在正确的目录中或没有写权限到该目录。键入“ crontab -e”时,您所在的目录是什么?JDB
JDB

@JDB谢谢。我不知道我必须在特定目录中。打开终端时,我只是在默认目录中,而在默认用户目录中。/ Users / <my_username> /
Jage 2010年

Answers:


22

这与编辑器无关,与用户权限有关。首先成为root:

sudo su -

然后为适当的用户编辑crontab:

crontab -u username -e

保存文件后,可以通过运行以下命令验证文件是否正确保存:

crontab -u username -l

1
这个解决方案对我有用。这令人惊讶的一个变体并没有为我工作是:sudo crontab -u username -e
安德鲁矿工

7

我刚才遇到了这个问题。在尝试解决问题时,我从Google那里被推荐给我。无论如何,这是我解决的方法。

采用

crontab -e

你做对了。

按“ i”插入您的cronjob。例如,

1 * * * * /Users/Wong/Documents/abc.command

请记住在该行之后按回车键。如果您不按回车键,它将是这样

1 * * * * /Users/Wong/Documents/abc.command

按ESC并输入:wq保存并退出文件。它应该显示“ crontab:安装新的crontab”

我意识到,如果您在行后不按回车键,将无法保存整个内容。

希望能帮助到你。


谢谢。:q!当您的解决方案:wq与众不同时,我一直在退出。
KeitelDOG

1
欢迎。:q!允许您在退出:wq之前写入文件时不保存而退出。
Richard Wong

我赶上了VIM命令,所以现在我知道了很多我应该知道的事情!
KeitelDOG

1

关闭终端窗口不会保存crontab。

由于它使用vim创建文件,因此请查找如何使用VIM并从那里开始。

在10.5和10.6中,launchd是(Apple)的首选方法,但是您并没有要求这样做,只是如何创建crontab。


1

它显示的窗口是vi编辑器。在传统的UNIX系统上,vi是默认的编辑器。Mac OS X似乎保持了这一传统。

EDITORVISUAL环境变量设置$PATH为您喜欢的编辑器的名称(完整路径,如果不在中)。例如

export EDITOR=emacs VISUAL=emacs
crontab -e

此设置应该进入您的设置~/.profile(假设Mac OS X在您登录时确实读取了该文件;如果有OSX方式为整个会话定义环境变量,则可以在其中定义它们)。


0

这是我的解决方案:首先修改您的编辑器。 export EDITOR=vim 然后修改.vimrc autocmd filetype crontab setlocal nobackup nowritebackup 它将起作用。


这是做什么的?我会非常警惕地说的更改配置文件,因此,一个不愿解释更改内容的匿名陌生人。
大卫·里希比

对于那个很抱歉。我之前遇到过这个问题,然后我用谷歌搜索了此方法,但是找不到原始帖子。所以我只发布了这种方法,它对我有用。您也可以使用Google这种方法来了解其工作原理?下次我将改善答案。对不起,我的英语不好。
飞马座
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.