在ubuntu中保存cron作业

Ted*_*y13 4 vi cron

我是ubuntu和cron的新手.我已在命令行中输入以下内容:

       crontab -e
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:"没有crontab泰迪 - 使用空的888"

然后我进入我希望它执行的时候(我相信这是对的?...我希望它每天运行一次,每天晚上8点运行):

                 00 18 * * * /*****/*****/****/test.php 
Run Code Online (Sandbox Code Playgroud)

这是我的问题,我不知道如何退回到命令行.我输入的所有东西都给了我奇怪的外观字母而输入(返回)却没有做任何事情.我已经读过这将完成这项工作

                 ESC : w q
Run Code Online (Sandbox Code Playgroud)

但它不适合我.我尝试输入,我试着同时按下它们,我一次尝试按一个.没什么,仍然卡住了.当我按下ESC时,它出现为^ [.

这可能是一个非常简单的问题,如果它是愚蠢的我会道歉,但我已经被困住了一段时间.任何帮助将非常感谢.

谢谢

PS我读的地方,如果这是你需要到在的cronjob年底做的端线的第一份工作......这是一个简单的输入按键或实际键入\n吗?

gho*_*oti 8

Teddy13,我们在这里得到一些澄清.

Ubuntu是您正在使用的Linux的发行版.您输入的所有命令都不是Ubuntu独有的.

你问的是两个不同的问题.一个是"我如何编写crontab".另一个是"我如何使用vi,crontab命令的默认编辑器".

首先,man crontab检查文件中条目的格式.请注意,cron运行可从shell执行的内容.如果它的结构类似于shell脚本,你只能运行你的"test.php"脚本,第一行包含"shell magic"(即类似的东西#!/usr/local/bin/php).

其次,虽然vi是一个功能强大且备受喜爱的文本编辑器,但它并不是最容易使用的.我完全支持您学习如何使用它所做的任何努力,但在您对它感到满意之前,您可能需要考虑切换到"pico"或"ee"或"joe",这些都更容易学习虽然他们可以做得少得多.例如,您可以使用以下命令安装joe:apt-get install joe以root身份运行.然后使用joe编辑crontab,添加export VISUAL=/usr/bin/joe.bashrc主目录中的文件.

你可能想要获得很多背景信息.阅读很多.这很值得.

更新(每条评论):

以下是编辑crontab所需的基本内容.

  • crontab -e ...如您所知,这将使用$ EDITOR或$ VISUAL编辑您的crontab文件,默认为vi.
    • 在vi中,你总是处于三种模式之一.MOVEMENT模式允许您使用箭头或H,J,K和L移动文件.您可以删除带有"dd"的行或带有"x"的字符.编辑模式允许您添加或更改文本.在移动模式下,使用"i"或"a"或"o"以不同方式进入编辑模式.阅读文档了解详情.第三,通过从运动模式点击":"可以达到命令模式.从这里,您可以发出各种命令来保存,搜索,批量编辑等.
    • 在移动模式下,您可以使用"ZZ"保存文件并退出.从编辑模式,您可以使用命令"wq"(因此在其他地方提到的":wq")执行此操作.
  • 或者,您可以通过将信息传递到crontab命令来设置新的crontab. 请注意,这将删除您可能拥有的任何现有crontab. 在shell中运行此命令,根据需要更新脚本的URL:

    echo "0 20 * * * wget http://example.com/path/to/file.php" | crontab -

  • crontab -l 将显示您当前的crontab包含的内容.

希望这可以帮助.

更新#2(以下评论):

$ tmpfile=/tmp/foo.$$
$ crontab -l > $tmpfile
$ echo "30 6 * * * Mail -s wakeup pager@example.net <<< 'Time to wake up.'" >> $tmpfile
$ crontab - < $tmpfile && rm $tmpfile
Run Code Online (Sandbox Code Playgroud)