这本是很简单的问题,但是我服务器重装系统两次,遇到的问题都不一样,所以记录一下
1.首先要确保服务器上有 cron 服务
sudo systemctl status crond
2.设置时区
sudo timedatectl set-timezone Asia/Shanghai
3.重启crond 服务使crond服务的时区同步
sudo systemctl restart crond
4.设置一个每分钟都会执行的定时任务来检测定时任务是否可以执行
crontab -e
* * * * * echo "Cron test $(date)" >> /tmp/cron_test.txt
#查看设置的定时任务
crontab -l
过了一分钟发现多了个文件,说明定时任务可以执行
5.添加自己的定时任务 并记录日志 先在sh文件中只输出一个字符串
添加定时任务
crontab -e
07 10 * * * /root/backup_and_upload.sh >> /var/log/backup_and_upload.log
记得给执行权限:
chmod +x backup_and_upload.sh
6.检查这个日志
cat /var/log/backup_and_upload.log
看是否有指定日志的输出,如果有在一行行添加自己的代码 逐一排查问题,我的问题是date 命令在定时任务的执行环境下未找到 所以要确定一下路径。
which date
DATE="/usr/bin/date"
echo $DATE