Linux系统下使用Crontab修改库表的疑惑

;用法: 1. 用yz用户登录 。2. 用crontab -e 命令打开文件 。写入“0 1 * * * chg_date >/home/yz/yz.log”意思是在每天早上的1点,调用程序chg_date修改系统日期,将程序中的输出放入yz.log文件 。3.用":x"命令存盘退出 根据我的了解“当对 crontab 所做的改变被保存后,该crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中 。cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变 。如果发现了改变,它们就会被载入内存 。这样,当某个crontab 文件改变后就不必重新启动守护进程了 。”于是很懒就没有测试 。第二天上班查看库表,居然还是昨天的日期 。这次查到新的命令:“/etc/rc.d/init.d/crond restart” ,可用来重启cron服务。于是乖乖修改了crontab文件,将时间改为每2分钟后 。等了一会儿,再查看库表,还是没有变动 。偶已经没有耐心了,于是在办公室里开始用大嗓门问人:"#@*#……@?”这次连同事都很惊奇,“改了crontab就可以用了,不要重新启的 。”三个臭皮匠顶个诸葛亮,最后,Monitor提供了一个解决办法,既然在yz用户下建立crontab文件没有用,那么干脆在root用户下建好了 。于是,偶重新用root用户登录,用crontab -e 写道:“*/2 * * * * (su - yz -c chg_date 2>>/home/yz/yz.log)” 。等了几分钟,看库表,日期还是没有变 。真是有些沮丧了 。抱着试试看的心情又把“/etc/rc.d/init.d/crond restart ”敲了一遍 。几分钟后,偶终于看到日期变掉了 。问题解决,疑问还在心中: 1、为什么在yz用户下建立crontab没有用?我已经看到/var/spool/cron/yz文件了 。2、为什么一定要重起cron服务?明明很多同事在linux下,用crontab -e 追加完命令就可以用了 。

    推荐阅读