crontab到了时间不响应????

crontab到了时间不响应????

写了个小脚本用来定时拷贝文件
#!/bin/sh

#停止mysql&PHP

service httpd stop
service mysql stop

#用rsync同步备份目录,这样只拷贝不一样的内容

rsync -za -e ssh --delete --progress  /usr/local/apache/htdocs  root@192.168.222.208:/usr/local/apache/
rsync -za -e ssh --delete --progress /var/lib/mysql/nbw1  root@192.168.222.208:/var/lib/mysql/

#再次启动mysql&PHP

service mysql start
service httpd start


####################################
然后把这个文件放在了/usr/sbin目录下,并把脚本文件权限设置成了可执行

编辑了crontab -e,加入了如下内容:
03 11 * * * /usr/sbin/backup.sh
可到了时间无反应
crond服务都启动了的啊,直接运行脚本是没问题的
crontab到了时间运行的内容会在窗口上显示吗?
17 11 * * * /root/QQ/LumaQQ/lumaqq

我把crontab里的内容换了个简单的,也没反应,郁闷ing~~~
我做了实验,这个最简单命令的都不反映
24 11 * * *  echo its dinner time
crond 要重新启动、装载一下。
不是crond服务问题,这个服务是启动的

35 11 * * * poweroff
定时关机没问题,但哪些命令怎么没反映呢?
49 11 * * * /root/QQ/LumaQQ/lumaqq
定时运行我的QQ就不行,难道是格式有问题?是不是还有我没有考虑到的地方??
...
有这样运行的吗?
linux里面运行程序的时候,每个进程都会需要设置环境变量的。就是说类似于 PATH, LANG, JAVA_HOME这样的环境变量的。crond因为其特殊性,它自己有自己设定的环境变量,所以如果你的脚本或程序
严重依赖于环境变量的话,就自然会出错了。
提示一个bash下通用的脚本调试方法,在你的这个脚本的开始处加入下面的调试代码。
运行出错后,去检查/tmp/error.txt文件。

[code:1]
#!/bin/sh
# 将所有错误信息重定向到文件/tmp/error.txt中
exec 2>/tmp/error.txt

#停止mysql&PHP
[/code:1]
这是错误提示
/usr/sbin/backup.sh: line 7: service: command not found
/usr/sbin/backup.sh: line 8: service: command not found

service命令应该怎样设置环境变量呢?
#!/bin/sh
# 将所有错误信息重定向到文件/tmp/error.txt中
exec 2>/tmp/error.txt

#停止mysql&PHP

/sbin/service httpd stop
/sbin/service mysql stop

#用rsync同步备份目录,这样只拷贝不一样的内容

rsync -za -e ssh --delete --progress  /usr/local/apache/htdocs  root@192.168.222.208:/usr/local/apache/
rsync -za -e ssh --delete --progress /var/lib/mysql/nbw1  root@192.168.222.208:/var/lib/mysql/

#再次启动mysql&PHP

/sbin/service mysql start
/sbin/service httpd start


####################################
功能基本上已经实现了,但能否让它在执行批处理的时候在屏幕上显示运行时候的信息呢??
crontab执行任务的时间好像不是你用date命令看到的时间,而是date -u看到的那个,即其以UTC为标准,而不受时区的影响。至少在我的电脑上是这样的。我的时区是CST,明明设定在午夜执行的,却总是在16:00执行,正好相差八个小时(CST和UTC相差八个小时)。不知道是我搞错了还是那边设置不正确。