Jghost

jeiao, In me the tiger sniffs the rose !

导航

ubuntu 的 crontab 计划任务

写脚本的时候 需要开机定时执行,就用了crontab

 

关于crontab的编写  网上一大堆,在这不在解释

如下

0 1 * * *  /usr/local/oakcloud/shell/synchronizeTime > /dev/null 2>&1

这是每一个小时开机运行的一个cron  执行的是synchronizeTime 这个脚本,将一些信息输出 直接仍进黑洞里 ,一些错误的信息放在制定的文件里.

在syncronizeTime 中有一个错误log的输出:

date=`date +%Y-%m-%d%H:%M`

echo $date '连通' >>network.log

但是奇怪的是在/usr/local/oakcloud/shell/下 没有network.log文件的输出.

在命令行直接

./synchronizeTime

可以看到network.log的输出.

 

后来多了解下crontab  发现如果在这里面的隐藏的信息  root用户执行这个语句.

所以network.log 一定在/root里,后来验证了这个猜想.

所以,这个解决方法有两种:

1.重定向文件时写绝对路径,一定没错.

2.执行crontab时使用 系统用户执行

    crontab -u user filename

 

 

 

 

 

 

 

 

 

 

posted on 2014-02-28 15:04  Jghost  阅读(240)  评论(0编辑  收藏  举报