我创建了一个每天13:00运行的cronjob,如下所示。
0 13 * * * root /bin/sh /home/reconfigure.sh
在我的reconfigure.sh文件中,我首先删除了几个文件,我知道这些文件有效,因为我可以看到它们已被删除。然后应该发生的是我连接到数据库并使用数据库中的信息再次创建相同的文件。
当我自己手动运行脚本时,这一切都正常,但在cronjob中它似乎不起作用。
这是我的reconfigure.sh
#!/bin/bash
find . -type f -name script_\* -exec rm {} \;
mysql -h"localhost" -u"USERNAME" -p"PASSWORD" "config" -s -N -e "SELECT * FROM configuration" | while read -r id name group
do
cat > script_$name.sh << EOF1
#!/bin/sh
### Do stuff here - cut out for posting
EOF1
/bin/chmod +x /home/script_$name.sh
done
正如我所说,我可以运行reconfigure.sh,它会删除连接到数据库的文件并创建所有文件,执行我已经定义的文件,甚至chmod文件。但是当在cron中运行时,它就无法工作。
有什么建议吗? 感谢
答案 0 :(得分:0)
最简单的调试方法是
0 13 * * * root /bin/sh /home/reconfigure.sh > /home/reconfigure.log
检查reconfigure.log文件以查看错误。