一、查看crontab的日志
1. linux
看 /var/log/cron.log这个文件就可以,可以用tail -f /var/log/cron观察
2. unix
在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。
3. mail任务
在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。
二、解决:Authentication token is no longer valid; new one required
1、问题描述:服务器的crontab,每天未正常执行,检查日志发现大量报错,如下:
2、问题原因:是由于近期用户密码更新所致crontab用户密码过期
3、解决方案:
1、chage -l ${username}查看用户密码期限相关信息
chage -l root
2、修改Maximum number of days between password change期限至永久
chage -M 99999 root
3、至此问题解决,重设定时任务,查看日志检查是否存在其他问题
4、命令介绍
Usage: chage [options] LOGIN
Options:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY
-E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-h, --help display this help message and exit
-I, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --list show account aging information
-m, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-M, --maxdays MAX_DAYS set maximim number of days before password
change to MAX_DAYS
-R, --root CHROOT_DIR directory to chroot into
-W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
--------------------------------------------------------
-d 日期 #修改 /etc/shadow 文件中指定用户密码信息的第 3 个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD
-E 日期 #设置密码到期的日期,过了这天,此账号将不可用。0表示马上过期,-1表示永不过期。格式YYYY-MM-DD
-h #查看帮助信息
-I 天数 #设置密码过期天数
-l #展示账号的相关日期信息
-m 天数 #密码可以更改的最小天数。为零代表任何时候都可以更改密码。
-M 天数 #密码保持有效的最大天数。
-W 天数 #修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第 6 个字段;
example:
1.设置mysql用户60天后密码过期,至少7天后才能修改密码,密码过期前7天开始收到告警信息。
chage -M 60 -m 7 -W 7 mysql;
2.强制新建用户第一次登陆时修改密码.
chage -d 0 test;
三、linux系统,启动、停止、重启crontab服务
1、情况一:正常情况(系统有service命令)
重启服务命令:
service crond restart
启动服务命令:
service crond start
停止服务命令:
service crond stop
2、情况二:当linux发行的版本没有service这个命令时候,用如下命令进行停止启动:
停止服务:
/etc/init.d/cron stop
启动服务:
/etc/init.d/cron start