我使用crontab -e
并添加新的测试任务
0 0 * * * /etc/webmin/fsdump/backup.pl 90881498558004
* * * * * cd /var/www/partners.dev/ && .bin/drush cron --root=web
* * * * * cd /var/www/partners.test/ && .bin/drush cron --root=web
*/1 * * * * /scripts/test.sh
代码测试.sh
#!/usr/bin/env bash
LOG_DIR=/var/log/script_backup/;
LOG_NAME=crone.log;
NOW=$(date +'%Y_%m_%d_%H_%M_%S');
function write_log(){
mkdir -p ${LOG_DIR};
sudo sh -c "echo '$1' >> $LOG_DIR$LOG_NAME"
}
write_log ${NOW};
我是 ex 命令sudo service cron restart
,但是文件 crone.log 是空的。
答案1
您正在执行一个 shell 脚本,因此sh
应该在脚本文件名前面使用它。
在你的 crontab 中替换此行
*/1 * * * * /scripts/test.sh
用这行
*/1 * * * * sh /scripts/test.sh