免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 5967 | 回复: 36
打印 上一主题 下一主题

crontab 问题 谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-25 12:11 |只看该作者 |倒序浏览
cat MysqlCon
#mysql backup
#backed msyqldata by 2:00 every day
#rm 5 day ago dbdata
0,1 * * * * `sh /root/msyql_backup.sh`

crontab MysqlCron

cd /var/spool/cron/
cat root

#mysql backup
#backed msyqldata by 2:00 every day
#rm 5 day ago dbdata
0,1 * * * * sh /root/msyql_backup.sh

但是并没有操作,什么信息都没有
于是我直接编辑/etc/crontab 加入
0,1 * * * *  sh /root/mysql_backup.sh
也不能运用我的cron

我的mysql_backup.sh 手工运用是正确的,谢谢!!
哪位大虾能看看是什么毛病么??
thanks so much

[ 本帖最后由 sickcat2004 于 2006-4-25 12:48 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-04-25 12:24 |只看该作者
文件组成应该是五部分吧,后面是不是多了一个*?

论坛徽章:
0
3 [报告]
发表于 2006-04-25 12:28 |只看该作者
呵呵,是少一个*吧

论坛徽章:
0
4 [报告]
发表于 2006-04-25 12:49 |只看该作者
谢谢两位老大,我现在加拉,还是不行

论坛徽章:
0
5 [报告]
发表于 2006-04-25 13:16 |只看该作者
1)如果是每天的2:00,我认为应该是这样设置:

0 2 * * * sh /root/mysql_backup.sh

2)命令最好写绝对路径!!!

论坛徽章:
0
6 [报告]
发表于 2006-04-25 13:26 |只看该作者
原帖由 okchina 于 2006-4-25 13:16 发表
1)如果是每天的2:00,我认为应该是这样设置:

0 2 * * * sh /root/mysql_backup.sh

2)命令最好写绝对路径!!!

我知道是那样,但是我测试的时候是每1分钟输出阿,我要先测试才知道
我的命令不是绝对路径吗?

论坛徽章:
0
7 [报告]
发表于 2006-04-25 13:33 |只看该作者
/sbin/service crond reload

看看你的Crond有没有运行了???

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

论坛徽章:
0
8 [报告]
发表于 2006-04-25 13:44 |只看该作者
cat /var/log/cron

pr 25 13:40:00 test CROND[7396]: (root) CMD (/bin/sh /root/msyql_backup.sh)


/etc/init.d/crond restart

正常的

日志里面也有啦,但是数据库没有备份成功,我手动备份是可以的
非常感谢,再线等。。。。

论坛徽章:
0
9 [报告]
发表于 2006-04-25 13:52 |只看该作者
能不能贴出你的脚本,会不会是脚本的问题?

论坛徽章:
0
10 [报告]
发表于 2006-04-25 14:01 |只看该作者


  1.       1 #!/bin/sh
  2.       2 #Setting
  3.       3 #
  4.       4 #
  5.       5 DBName=web
  6.       6 DBUser=root
  7.       7 DBPasswd=
  8.       8 BackupPath=/root/
  9.       9 LogFile=/root/db.log
  10.      10 DBPath=/httpd/mysql/var/
  11.      11 BackupMethod=mysqldump
  12.      12 #BackupMethod=msyqlhotcopy
  13.      13 #BackupMethod=tar
  14.      14 #Setting end
  15.      15
  16.      16 NewFile="$BackupPath"db_"$DBName"$(date +%y%m%d).tgz
  17.      17 DumpFile="$BackupPath"db_"$DBName"$(date +%y%m%d)
  18.      18 OldFile="$BackupPath"db_"$DBName"$(date +%y%m%d --date='5 days ago').tgz
  19.      19
  20.      20 echo "--------------------------------------" >> $LogFile
  21.      21 echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
  22.      22 echo "-----------------------------------" >>$LogFile
  23.      23 #Delete Old File
  24.      24 if [ -f $OldFile ]
  25.      25 then rm -f $OldFile >> $LogFile 2>&1
  26.      26         echo "[$OldFile] Delete Old File Success!" >> $LogFile
  27.      27 else
  28.      28 echo "[$OldFile] No Old Backup File" >> $LogFile
  29.      29 fi
  30.     30
  31.      31 if [ -f $NewFile ]
  32.      32 then
  33.      33         echo "[$NewFile] The Backup File is exists , Can't Backup! " >> $LogFile
  34.      34 else
  35.      35         case $BackupMethod in
  36.      36         mysqldump)
  37.      37         if [ -z $DBPasswd ]
  38.      38         then
  39.      39         mysqldump -u $DBUser --opt $DBName > $DumpFile
  40.      40         else
  41.      41         msyqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
  42.      42         fi
  43.      43         tar czvf $NewFile $DumpFile >> $LogFile 2>&1
  44.      44         echo "[$NewFile] Backup Success!" >> $LogFile
  45.      45         rm -rf $DumpFile
  46.      46         ;;
  47.      47         mysqlhotcopy)
  48.      48         rm -rf $DumpFile
  49.      49         mkdir $DumpFIle
  50.      50         if [ -z $DBPasswd ]
  51.      51         then
  52.      52         mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
  53.      53         else
  54.      54         mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >> $LogFile 2>&1
  55.      55         fi
  56.      56         tar czvf $NewFile $DumpFile >> $LogFile 2>&1
  57.      57         echo "[$NewFile] Backup Success!" >> $LogFile
  58.      58         rm -rf $DumpFile
  59.      59         ;;
  60.      60         *)
  61.      61         /etc/mysql.server stop >/dev/null 2>&1
  62.      62         tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
  63.      63         /etc/mysql.server start >/dev/null 2>&1
  64.      64         echo "[$NewFile] Backup Success!" >> $LogFile
  65.      65         ;;
  66.      66         esac
  67.      67         fi
  68.      68
  69.      69         echo "----------------------------------------" >> $LogFile


复制代码


上面那个自动备份数据库的程序没有问题
我现在加入cron
#crontab -e
48 13 * * * /bin/sh  /root/mysql_backup.sh


到时间后我察看cat /var/log/cron

Apr 25 13:48:00 test CROND[7477]: (root) CMD (/bin/sh /root/msyql_backup.sh)

这个cron已经工作啦
但是我备份文件,备份日志什么都没有,郁闷
我手工备份是成功的,你知道这个是啥原因么
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP