QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1276|回复: 9

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

[复制链接]
发表于 2005-3-15 11:07:56 | 显示全部楼层 |阅读模式
写了个小脚本用来定时拷贝文件
#!/bin/sh

#停止mysql&PHP

service httpd stop
service mysql stop

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

rsync -za -e ssh --delete --progress  /usr/local/apache/htdocs  [email protected]:/usr/local/apache/
rsync -za -e ssh --delete --progress /var/lib/mysql/nbw1  [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到了时间运行的内容会在窗口上显示吗?
 楼主| 发表于 2005-3-15 11:20:20 | 显示全部楼层
17 11 * * * /root/QQ/LumaQQ/lumaqq

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

使用道具 举报

 楼主| 发表于 2005-3-15 11:29:30 | 显示全部楼层
我做了实验,这个最简单命令的都不反映
24 11 * * *  echo its dinner time
回复

使用道具 举报

发表于 2005-3-15 11:40:17 | 显示全部楼层
crond 要重新启动、装载一下。
回复

使用道具 举报

 楼主| 发表于 2005-3-15 11:48:30 | 显示全部楼层
不是crond服务问题,这个服务是启动的

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

使用道具 举报

发表于 2005-3-15 12:20:51 | 显示全部楼层
...
有这样运行的吗?
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]
回复

使用道具 举报

 楼主| 发表于 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命令应该怎样设置环境变量呢?
回复

使用道具 举报

 楼主| 发表于 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/htdocs  [email protected]:/usr/local/apache/
rsync -za -e ssh --delete --progress /var/lib/mysql/nbw1  [email protected]:/var/lib/mysql/

#再次启动mysql&PHP

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


####################################
回复

使用道具 举报

 楼主| 发表于 2005-3-15 21:45:44 | 显示全部楼层
功能基本上已经实现了,但能否让它在执行批处理的时候在屏幕上显示运行时候的信息呢??
回复

使用道具 举报

发表于 2005-3-16 12:08:03 | 显示全部楼层
crontab执行任务的时间好像不是你用date命令看到的时间,而是date -u看到的那个,即其以UTC为标准,而不受时区的影响。至少在我的电脑上是这样的。我的时区是CST,明明设定在午夜执行的,却总是在16:00执行,正好相差八个小时(CST和UTC相差八个小时)。不知道是我搞错了还是那边设置不正确。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-10-3 08:25 , Processed in 0.060181 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表