点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > linux>详细内容

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

添加时间:2010-1-4
    相关阅读: 程序 linux 系统

 用法:

    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 追加完命令就可以用了

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册