【问题标题】:Crontab does not run on CentOS 7crontab 不能在 CentOS 7 上运行
【发布时间】:2016-04-30 17:42:15
【问题描述】:

我使用的是 CentOS 7,并安装了“cronie”

yum install cronie

我有一个 shell 来备份我的 home 文件夹,shell 的内容(当然,backup.sh 是 775)

#!/bin/bash
#START
TIME=`date +%Y-%m-%d_%Hh%M`          
FILENAME=backupHome_123.30.150.29_$TIME.tar.gz 
SRCDIR=/home                    
DESDIR=/backup            
tar -cpvzf $DESDIR/$FILENAME $SRCDIR
#END

并添加到 crontab -e

00 2 * * * /bin/bash /backup/backup.sh

但是 crontab 什么都不做。当我只检查 /var/log/cron 的日志时,类似这样的东西,没有更多的错误或处理日志

May  1 00:26:08 app crontab[12041]: (root) END EDIT (root)
May  1 00:33:21 app crontab[12086]: (root) BEGIN EDIT (root)
May  1 00:34:25 app crontab[12086]: (root) END EDIT (root)

谁能给我一些建议让 crontab 工作? 谢谢。

【问题讨论】:

  • 您设置2:00 AM 进行备份。
  • 您的脚本到底在哪里?真的是/backup/backup.sh吗?注意 crontab 需要完整路径。
  • @AliYousefiSabzevar,是的,我想每天凌晨 2 点运行备份。
  • @fedorqui /backup/backup.sh 是完整路径 :) 在 / 我创建备份文件夹,所以,完整路径是 /backup/backup.sh :)

标签: crontab centos7


【解决方案1】:

我发现最有用的信息其实是由

systemctl status crond

这表明由于“未经授权的 SELinux 上下文”错误而无法正确加载。

【讨论】:

    【解决方案2】:

    如果 cron 守护程序没有运行,就会发生这种情况。 检查它:

    pgrep cron
    

    如果命令什么都不返回,运行:

    systemctl restart crond
    

    这应该会有所帮助。

    【讨论】:

      【解决方案3】:

      您要确保 cron 已启动,并且在您的服务器重新启动时它已启动,因此您需要 CentOS 7 上的两个命令来确保这一点:

      systemctl enable crond && systemctl restart crond
      

      如果你习惯使用sudo,你可以在上面的命令前面加上sudo。像这样:

      sudo systemctl enable crond && systemctl restart crond
      

      你会得到系统的确认,比如:

      创建了从 /etc/systemd/system/multi-user.target.wants/crond.service 到 /usr/lib/systemd/system/crond.service 的符号链接。

      然后最后检查 cron 是否正在运行 pgrep cron

      【讨论】:

        【解决方案4】:

        我知道我迟到了,但也许有人会遇到这种问题。可能是因为路径不正确,CRON 无法运行脚本。

        你的路径是

        00 2 * * * /bin/bash /backup/backup.sh
        

        我猜路径应该是:

        00 2 * * * sh /bin/bash/backup/backup.sh
        

        唯一的区别是 bash 目录和 CRON 作业开始时的 sh 命令后的空格。

        【讨论】:

          【解决方案5】:

          您必须在命令之前添加用户名,例如:
          1 * * * * root 或用户名 /usr/bin/php /var/www/html/yourwebsite/yourscript.php

          【讨论】:

          • 我错过了用户名。谢谢!
          猜你喜欢
          • 2016-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-29
          • 2018-12-05
          • 2018-07-18
          • 2016-04-22
          • 2015-12-11
          相关资源
          最近更新 更多