netbuddy 发表于 2005-3-15 11:07:56

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

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

#停止mysql&PHP

service httpd stop
service mysql stop

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

rsync -za -e ssh --delete --progress/usr/local/apache/[email protected]:/usr/local/apache/
rsync -za -e ssh --delete --progress /var/lib/mysql/[email protected]:/var/lib/mysql/

#再次启动mysql&PHP

service mysql start
service httpd start


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

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

netbuddy 发表于 2005-3-15 11:20:20

17 11 * * * /root/QQ/LumaQQ/lumaqq

我把crontab里的内容换了个简单的,也没反应,郁闷ing~~~

netbuddy 发表于 2005-3-15 11:29:30

我做了实验,这个最简单命令的都不反映
24 11 * * *echo its dinner time

BOoRFGOnZ 发表于 2005-3-15 11:40:17

crond 要重新启动、装载一下。

netbuddy 发表于 2005-3-15 11:48:30

不是crond服务问题,这个服务是启动的

35 11 * * * poweroff
定时关机没问题,但哪些命令怎么没反映呢?
49 11 * * * /root/QQ/LumaQQ/lumaqq
定时运行我的QQ就不行,难道是格式有问题?是不是还有我没有考虑到的地方??

xqssl 发表于 2005-3-15 12:20:51

...
有这样运行的吗?
linux里面运行程序的时候,每个进程都会需要设置环境变量的。就是说类似于 PATH, LANG, JAVA_HOME这样的环境变量的。crond因为其特殊性,它自己有自己设定的环境变量,所以如果你的脚本或程序
严重依赖于环境变量的话,就自然会出错了。
提示一个bash下通用的脚本调试方法,在你的这个脚本的开始处加入下面的调试代码。
运行出错后,去检查/tmp/error.txt文件。


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

#停止mysql&PHP

netbuddy 发表于 2005-3-15 13:24:17

这是错误提示
/usr/sbin/backup.sh: line 7: service: command not found
/usr/sbin/backup.sh: line 8: service: command not found

service命令应该怎样设置环境变量呢?

netbuddy 发表于 2005-3-15 14:13:09

#!/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/[email protected]:/usr/local/apache/
rsync -za -e ssh --delete --progress /var/lib/mysql/[email protected]:/var/lib/mysql/

#再次启动mysql&PHP

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


####################################

netbuddy 发表于 2005-3-15 21:45:44

功能基本上已经实现了,但能否让它在执行批处理的时候在屏幕上显示运行时候的信息呢??

jerryfleming 发表于 2005-3-16 12:08:03

crontab执行任务的时间好像不是你用date命令看到的时间,而是date -u看到的那个,即其以UTC为标准,而不受时区的影响。至少在我的电脑上是这样的。我的时区是CST,明明设定在午夜执行的,却总是在16:00执行,正好相差八个小时(CST和UTC相差八个小时)。不知道是我搞错了还是那边设置不正确。
页: [1]
查看完整版本: crontab到了时间不响应????