忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
1234下一页
最近访问板块 发新帖
查看: 43899 | 回复: 34

[FreeBSD] crontab执行mysql备份,但是没有生成备份文件 [复制链接]

论坛徽章:
3
操作系统版块每日发帖之星
日期:2016-08-03 06:20:00操作系统版块每日发帖之星
日期:2016-08-04 06:20:00操作系统版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-07-28 08:43 |显示全部楼层
本帖最后由 litigerking 于 2016-08-01 08:00 编辑

我配置定时执行任务备份mysql,在命令行执行能正常备份,但是放在crontab后,却没有备份,看日志crontab是正常执行了脚本的,也没有错误提示,

crontab加的
  1. 15      8       *       *       *       root    /home/mysqlbackup/mysqlbackup.sh
复制代码
mysqlbackup.sh内容

  1. #!/bin/sh
  2. db_user="tiger"
  3. db_passwd="tiger"
  4. db_host="localhost"

  5. # directory for backup files.
  6. backup_dir="/home/mysqlbackup"

  7. # delete backup files created expdays ago
  8. expdays=100

  9. # date format for backup files (yyyy-mm-dd)
  10. time="$(date +"%Y-%m-%d")"

  11. # a comma delimited list of databases to backup, backup all databases if blank
  12. dblist="tiger"

  13. # get full path and name for the following programs
  14. MYSQL="$(which mysql)"
  15. if [ -z $MYSQL ]; then
  16. echo "mysql not found ..."
  17. exit 0
  18. fi
  19. MYSQLDUMP="$(which mysqldump)"
  20. if [ -z $MYSQLDUMP ]; then
  21. echo "mysqldump not found ..."
  22. exit 0
  23. fi
  24. MKDIR="$(which mkdir)"
  25. RM="$(which rm)"
  26. GZIP="$(which gzip)"
  27. ###########END-USER-DEFINE###########

  28. # create backup root directory if not found
  29. test ! -d "$backup_dir/" && $MKDIR "$backup_dir/"

  30. # check the directory for store backup is writeable
  31. test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

  32. # the directory for story the newest backup
  33. test ! -d "$backup_dir/$time/" && $MKDIR "$backup_dir/$time/"

  34. # get all databases
  35. all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse 'show databases')"

  36. for db in $all_db
  37. do
  38. goforit=$db
  39. if [ ! -z "$dblist" ]; then
  40. goforit=`echo ",$dblist," |grep ",$db,"`
  41. fi
  42. if [ ! -z "$goforit" ]; then
  43. $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/$time/$time.$db.gz"
  44. fi
  45. done

  46. # delete the oldest backup
  47. find $backup_dir -type d -mtime +$expdays -maxdepth 1 | xargs $RM -rf
复制代码
log记录
  1. Jul 28 08:15:00 server2 /usr/sbin/cron[7088]: (root) CMD (/home/mysqlbackup/mysqlbackup.sh)
复制代码

论坛徽章:
3
操作系统版块每日发帖之星
日期:2016-08-03 06:20:00操作系统版块每日发帖之星
日期:2016-08-04 06:20:00操作系统版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-07-28 08:47 |显示全部楼层
系统是FreeBSD 10 64位!

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
发表于 2016-07-29 08:45 |显示全部楼层
文件开始为什么没有#!/bin/sh呢?

论坛徽章:
3
操作系统版块每日发帖之星
日期:2016-08-03 06:20:00操作系统版块每日发帖之星
日期:2016-08-04 06:20:00操作系统版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-07-31 18:51 |显示全部楼层
没复制上,文件里有!
回复 3# lsstarboy


   

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
发表于 2016-07-31 21:38 |显示全部楼层
手工执行报错吗?

论坛徽章:
3
操作系统版块每日发帖之星
日期:2016-08-03 06:20:00操作系统版块每日发帖之星
日期:2016-08-04 06:20:00操作系统版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-08-01 07:55 |显示全部楼层
手工执行正常!
回复 5# lsstarboy


   

论坛徽章:
3
操作系统版块每日发帖之星
日期:2016-08-03 06:20:00操作系统版块每日发帖之星
日期:2016-08-04 06:20:00操作系统版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-08-01 07:57 |显示全部楼层
这个脚本在8.3时用过,当时都很正常,现在就是不行!
回复 5# lsstarboy


   

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
发表于 2016-08-01 08:41 |显示全部楼层
建议:
1、把which那几个换成绝对路径试试。
2、多加几个>>重定向,当调试信息写入到一个文件中。

论坛徽章:
3
操作系统版块每日发帖之星
日期:2016-08-03 06:20:00操作系统版块每日发帖之星
日期:2016-08-04 06:20:00操作系统版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2016-08-01 10:18 |显示全部楼层
不管用,全部写成绝对路径,帐号密码全部写到命令行里,最后生成一个0字节的空文件,但是在命令行中执行都正常,就是放在crontab不行!回复 8# lsstarboy


   

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
发表于 2016-08-01 14:04 |显示全部楼层
回复 1# litigerking

不要加入用户试试。
‘15      8       *       *       *    /home/mysqlbackup/mysqlbackup.sh’


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

本版积分规则

SACC2017购票7.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月2日前

活动链接>>
  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP