【问题标题】:Cronjob is not running in LinuxCronjob 未在 Linux 中运行
【发布时间】:2018-03-18 05:22:25
【问题描述】:

所以我正在尝试通过 linux 自动备份到 S3 存储桶。

我要运行的脚本是

TIME=`date +%b-%d-%y`           
FILENAME=backup-$TIME.tar.gz    
SRCDIR=/opt/nexus                     
DESDIR=/usr/local/backup            
tar -cpzf $DESDIR/$FILENAME $SRCDIR 
aws s3 cp /usr/local/backup/backup.tar.gz s3://s3backup

运行该脚本的 cronjob 是 44 11 * * * ./backup.sh

但是,每当我尝试运行备份脚本(通过更新 cronjob)时,它似乎根本不起作用。

任何想法为什么它不起作用?

【问题讨论】:

  • 是您的用户帐户拥有的 cron 中的 cronjob,还是在 /etc/crontab 中?
  • 我把用户设置在centos应该是正确的
  • 请在作业运行时使用/var/log/cron 中的内容更新问题

标签: linux amazon-web-services amazon-s3 cron


【解决方案1】:

您正在创建一个带有日期标记的备份文件,但试图复制静态文件名。尝试将复制命令更改为:

aws s3 cp $DESDIR/$FILENAME s3://s3backup

【讨论】:

    【解决方案2】:

    不要在 cron 作业或脚本中使用相对路径名。

    44 11 * * * ./backup.sh
    

    改为使用脚本的完整路径。

    44 11 * * * <full_path>/backup.sh
    

    此外,在脚本中使用完整路径:

    <full_path>/tar -cpzf $DESDIR/$FILENAME $SRCDIR 
    <full_path>aws s3 cp /usr/local/backup/backup.tar.gz s3://s3backup
    

    确保为已正确设置 AWS 凭证的用户添加 cron 作业。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2015-06-18
      • 2021-03-14
      相关资源
      最近更新 更多