全面解决Linux定时任务不能正常运行的四种方法

ssh登录运行shell命令的终端窗口


一,检查服务状态开启服务
1.1 service crond/cron status
1.2 service crond/cron start
1.3 service crond/cron stop 

crond 是centos命令名,cron是ubuntu命令名。


二,命令使用绝对路径

2.1 定时任务是用指定命令执行任务,关于命令的使用,
2.1.1 环境变量(PATH)里的命令定时任务都可以使用默认路径/usr/bin:/bin;
2.1.2 SSH登陆后一般使用的是shell环境下的命令,默认路径/bin/sh;

2.1.3 如果没有在PATH里配置的命令就要指定命令绝对路径,否则会出现定时任务找不到命令的情况;


三,添加根目录

3.1 CROND[14503]: (CRON) ERROR chdir failed (/home/www): No such file or directory

3.2 手动添加根目录

3.3 非root用户根目录缺失也会导致定时任务执行失败


四,定时任务文件的权限设置问题

除了文件所有者有写权限外其他只能读,否则报错,“BAD FILE MODE”。


五,(centos、ubuntu)定时任务默认的文件和日志路径

4.1 文件路径 /var/spool/*

4.2 日志路径 /var/log/*


备注:

1,ubuntu定时任务日志默认是关闭的,需要修改rsyslog服务配置文件:
1.1,修改

/etc/rsyslog.d/50-default.conf

文件,取消注释

#cron.*    /var/log/cron.log;

1.2,重启rsyslog日志服务

service rsyslog  restart


2,定时任务的运行环境

评论0条