如何设置两个 cron 作业,分别在每晚 3:00 和 3:10 运行?

如何设置两个 cron 作业,分别在每晚 3:00 和 3:10 运行?

我有一台运行虚拟盒的 ubuntu 家庭服务器。我在该盒上运行的虚拟服务器遇到了问题。目前我没有时间排除实际问题,但我发现重新启动服务器至少可以在 24 小时内解决问题。所以我的快速解决方法是每晚重新启动服务器。

底线是我想每周 7 天的凌晨 3:00 运行以下命令。

vboxmanage controlvm virtualpbx acpipowerbutton

每天晚上 3:05 我都想要运行以下命令。

vboxmanage startvm virtualpbx -type headless

最好的答案将为我提供从启动控制台到关闭控制台的分步说明。我想了解更多有关 cron 和 Linux 基础架构的信息,但目前我没有时间。

非常感谢你的帮助。

塞思·B·斯皮尔曼

** 编辑 **
我希望能够通过 ssh 提示符将它们放置到位。(别笑,但服务器现在没有连接监视器,要让它工作起来需要做大量的工作。)但我可以随时通过 ssh 连接到它。

从 ssh 提示来看,crontab 似乎不起作用...它只是转到下一行,似乎在等待更多输入。

我尝试使用 sudo apt-get install crontab 从 ssh 安装 crontab,但在任何存储库中都找不到它。

所以我想我会使用 nano 并手动完成,但我需要知道把它放在哪里。

总而言之...我是在 ssh 提示符下执行此操作的...我认为这并不重要,但我想让你知道。

塞斯

答案1

打开终端(Ctrl++ ) AltT然后运行:

crontab -e

如果它要求您选择编辑器,请选择 nano。在文件末尾插入以下行:

 0 3 * * * vboxmanage controlvm virtualpbx acpipowerbutton
 5 3 * * * vboxmanage startvm virtualpbx -type headless

Ctrl+ O,Return保存文件,按Ctrl+X退出。然后运行exit关闭终端。

编辑
原文作者是这么做的:

  1. ssh 到服务器
  2. sudo nano /etc/crontab <key in password>
  3. 根据 Eric 的建议进行编辑,但添加了启动虚拟机的用户名,如下所示...

    0 3 * * * username vboxmanage controlvm virtualpbx acpipowerbutton   
    5 3 * * * username vboxmanage startvm virtualpbx -type headless  
    
  4. CTRL-X 关闭。按 Enter 保存 crontab。

  5. 重新启动 cron:sudo service cron stop 然后sudo service cron start

答案2

拖放到控制台

为每个命令创建一个 bash 脚本(不要忘记使用 使它们可执行sudo chmod +x filename.sh),并将它们存储在 cron 可以运行它们的地方。

sudo anacron -t 00 03 * * * /path/to/script/script1.sh

sudo anacron -t 10 03 * * * /path/to/script/script2.sh

享受!

相关内容