在linux中设置了定时执行sh文件的任务,但是得打开xshell、xftp,连接上服务器,定时任务才能正确执行,这是为什么?
crontab -e 设置定时任务执行的时间
首先确定你的定时任务是否会定时执行,其次确定你的定时任务脚本里边内容是否正确,是不是有权限执行,如果都没问题,那就重新定制一个看看
- 检查服务是否已开启
service crond status
或 systemctl status crond - 检查配置是否已正常载入
crontab -l
假如没有,则执行 crontab /etc/crontab 重新载入
或通过 crontab -e 设定当前用户的任务 - 检查执行任务的用户是否为 root 或在 sudoer 名单里
- 检查执行用户对需要执行的脚本是否是 owner,如果不是 owner ,则需要有 r 和 x 权限
- 检查脚本里是否有使用到一些相对路径,如果有,应先 cd 绝对路径进入到指定目录,再执行其他命令
- 查看 cron 日志
cat /var/log/cron