如果进行了数小时的故障检查,并且无法找到使用root crontab时我的shell脚本无法正常执行的原因。
我正在使用
设备的vServerUbuntu 14.04.4 LTS
3.13.0-042stab113.11.
我的脚本是chmod 711文件:
/usr/local/sbin/bckup_script
看起来像这样:
#!/bin/bash
DATE=`date +%Y-%m-%d_%H_%M_%S`
su - -c "chgrp postgres /backup/db"
su - -c "chmod 770 /backup/db"
su - -c "chown user /backup/db"
su - postgres -c "pg_dump db_name > /backup/db/${DATE}db_name.sql && pg_dumpall > /backup/db/${DATE}_all_db.out"
su - -c "rsync -a /home/user/value /backup/"
使用
启动crontabcrontab -e
as
root
用户
crontab从syslog中执行。
当以root用户身份执行(无crontab)时,该文件将执行它所告知的操作。我的PATH也正确设置并正常工作。
我不知道出了什么问题。
解决方案:
感谢Jay jargot
我发现了什么是错的。要完成此问题,以下是您“询问”的输出:
crontab -l </ p>
#m h dom mon dow command
* * * * * bckup_script
crontab的输出
/bin/sh: bckup_script: command not found
这导致我得出结论使用solved
问题的文件的绝对路径。
我的crontab -l现在看起来如下,一切都像魅力一样!
# m h dom mon dow command
49 20 * * 1-5 /usr/local/sbin/bckup_script
非常感谢!