【问题标题】:bash script runs standalone but not with cronbash 脚本独立运行,但不能与 cron 一起运行
【发布时间】:2019-08-21 02:01:11
【问题描述】:

我知道你得到了很多,但我无法让这段代码在 cron 中工作。即使它独立运行。 我正在尝试 ssh 到服务器,获取最后一个 redmine 备份文件,使用 gpg 公钥对其进行加密,将其复制到本地备份计算机,删除加密文件并退出。

#!/bin/bash
ssh user@192.168.1.131 'cd /data/redmine/redmine/data/backups; file=$(ls -t | head -1); gpg --always-trust --encrypt --recipient 2E87B5C4E322C0AFCD1113EFCBB7C68 $file; enc_file=$(ls *.gpg); scp $enc_file user@192.168.1.129:/backups/redmineBackups/backups; rm $enc_file'

我的 crontab 看起来像这样

* * * * * /scripts/redmineEncrpt.sh

尝试每分钟运行一次以进行测试。 cron 运行它,但从未得到结果。

你能帮我解决这个问题吗? 谢谢

【问题讨论】:

  • 输出发送到 cron 用户的邮箱。那里有错误吗?
  • rm $enc_file之前应该有;吗?
  • 我们从不为 cron 设置用户电子邮件
  • 如果要调试问题,为什么要将 mailto 设置为空字符串?
  • Stack Overflow 用于编程问题,而不是关于使用或配置 Unix 及其实用程序的问题。 Unix & Linux 或 Super User 将是解决此类问题的更好地方。

标签: bash cron


【解决方案1】:

cron 使用受限环境执行脚本,as mmccoo posted in other thread,您可以使用 cron 环境中定义的变量检查您的脚本。

env - `cat ~/cronenv` /scripts/redmineEncrpt.sh

您可以检查这是否会产生任何错误。

【讨论】:

  • 他在 cmets 中解释说,实际问题是 crontab 中的拼写错误。
  • 抱歉,我没有看到这条评论
【解决方案2】:

我的问题只是一个错字,文件名错误。 感谢 Barmer 帮助我输出 cron 日志以解决问题

谢谢大家

【讨论】:

    猜你喜欢
    • 2012-10-22
    • 2017-05-28
    • 1970-01-01
    • 2010-09-14
    • 2017-09-03
    • 2011-08-10
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多