【问题标题】:Cron job won't run on UbuntuCron 作业不会在 Ubuntu 上运行
【发布时间】:2013-01-10 17:02:34
【问题描述】:

我有一个简单的 shell 脚本,在终端中打开时运行良好,但根本不会作为 cron 作业运行!

脚本如下:

#!/bin/sh
/usr/bin/sshfs example.com: /mnt
/usr/bin/rsync -az -v --progress -h --delete /mnt/html/ /home/user/html/
/bin/fusermount -u /mnt

这不起作用的任何原因? 我是 Ubuntu 和 Cron 的新手,所以这可能很简单。

谢谢! (我通过 cron GUI 添加了作业,“计划任务”)

【问题讨论】:

  • 日志中有任何信息吗?
  • 任务是添加到基于用户的 crontab 还是根目录?
  • @BobS 目前它在基于用户的 crontab 中,但我也尝试过 root 的。
  • @CarlNorum 日志每次输出一条消息“Grandchild failed with exit status 1”
  • 您可能需要将#/bin/sh 更改为#/bin/bash

标签: linux bash shell ubuntu cron


【解决方案1】:

你可以直接使用rsync ssh,无需熔断/挂载。

rsync -az -v --progress -h --delete example.com:/mnt/html/ /home/user/html/

但无论如何,我认为您的问题在于 ssh 密钥。 当 ssh 从cron 开始时,您必须检查使用了哪些密钥。并配置 ssh,使其使用正确的密钥。

【讨论】:

    【解决方案2】:

    尝试设置这个

        #!/bin/sh
        . /home/<user>/.profile
    

    crontab 是独立的,您可能需要某些配置文件详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-05
      • 2014-04-04
      • 2021-11-07
      • 2015-12-28
      • 2016-10-03
      • 2018-04-09
      • 2013-07-02
      相关资源
      最近更新 更多