在输入“crontab -e”后如何保存文件

5

我通过crontab -e命令在终端中打开文件,现在我想保存它。我已经尝试了几种方法,比如:wqCtrl-X,但是它没有保存文件。我该怎么做呢?


你在执行 :wq 命令前,文件中是否有任何内容?否则它将不会创建文件。 - nmore
实际上,我在cakephp的Console/Command目录中有一个电子邮件脚本,并且我按照教程进行了操作。根据这个教程,我想通过cron为这个电子邮件脚本设置时间,但是我不知道如何做。你能解释一下吗? - Moaz Ateeq
这个问题似乎只是关于在通过crontab -e调用的编辑器中保存crontab,而您已经得到了两个答案。如果您的问题只是“我如何使用crontab?”,我建议阅读文档;如果在那之后您有具体的问题,请单独发布它们。 - Keith Thompson
2个回答

3

crontab -e 命令会调用默认编辑器,它可以是以下命令之一:

  • $VISUAL 环境变量指定的命令(如果已设置);或
  • $EDITOR 指定的命令;或
  • /usr/bin/editor

后者是指向某个编辑器的符号链接。在 Linux 上,默认编辑器似乎是 nano

如果是 nano,则屏幕底部应该有一个两行菜单。键入 Ctrl-X 退出;如果您修改了文件,它会询问您是否要保存。

如果您有首选编辑器,则应将 $VISUAL$EDITOR 都设置为用于调用它的命令。例如,我有:

export EDITOR=vi
export VISUAL=$EDITOR

在我的$HOME/.bash_profile文件中。

这适用于我正在使用的系统,它是一个具有Vixie cron实现的最新Linux系统。如果您的系统与此不同,则不一定适用所有内容。

man crontab应该解释crontab命令的工作原理。如果没有,文档也可以在这里找到

(顺便说一下,我将我的crontab保存在我的家目录下的单独文件中,并在源代码控制系统中进行维护。这使我能够跟踪更改并在出现问题时恢复到可工作的版本。使用crontab -e容易犯错误且难以从中恢复。)


实际上,我在cakephp的Console/Command目录中有一个电子邮件脚本,并且我按照教程进行了操作。根据这个教程,我想通过cron为这个电子邮件脚本设置时间,但是我不知道如何做。你能解释一下吗? - Moaz Ateeq

2

你需要设置你的编辑器变量:

$ EDITOR=vi
$ export EDITOR
$ crontab -e

当然,如果vi不是你的编辑器,相应地更改它即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接