免费注册 查看新帖 |

Chinaunix

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

[FreeBSD] 请教一个crontab的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-24 13:10 |只看该作者 |倒序浏览
本帖最后由 spluto 于 2013-02-24 13:18 编辑

大家好,我在我的VPS上写了一个导出数据库的批处理文件,是Bash的,然后用crontab设置在每天凌晨1点整执行,脚本写好之后,手工测试无任何问题,可以得到完整的数据库备份文件,但是如果把这个批处理放到crontab中执行,每次得到的都是一个空文件,我查了一些资料,但也没有得到什么好的结果,请大家赐教,帮我看看问题出在哪里,谢谢!

附1: 批处理内容:
  1. #!/usr/local/bin/bash

  2. #VARIABLES DEFINITION

  3. YEAR=`date|cut -c 25-28`
  4. MONTH=`date +%m`
  5. DAY=`date +%d`

  6. HOUR=`date|cut -c 12-13`
  7. MINUTE=`date|cut -c 15-16`
  8. SECOND=`date|cut -c 18-19`

  9. LOG_DATE_FORMAT=$YEAR-$MONTH-$DAY
  10. LOG_TIME_FORMAT=$HOUR:$MINUTE:$SECOND

  11. # DATABASE PARAMETERS DEFINITION

  12. DB_NAME=***
  13. DB_USER=***
  14. DB_PASS=***

  15. DB_FILE=$DB_NAME.$YEAR$MONTH$DAY.sql
  16. DB_PATH=/home/backup/mysql/
  17. DB_LOG=/home/backup/mysql/backup.log

  18. # Starting process database

  19. echo " " >> $DB_LOG
  20. echo "============================================= Log file created on $LOG_DATE_FORMAT =========================================" >> $DB_LOG
  21. echo " " >> $DB_LOG
  22. echo "[$LOG_TIME_FORMAT]-[Database backup - By Server]: System variables were set, date format: YYYY-MM-DD, time format: HH:MM:SS." >> $DB_LOG
  23. echo "[$LOG_TIME_FORMAT]-[Database backup - By Server]: Database parameters were set." >> $DB_LOG
  24. mysqldump -u$DB_USER -p$DB_PASS --database $DB_NAME > $DB_PATH$DB_FILE
  25. echo "[$LOG_TIME_FORMAT]-[Database backup - By Server]: Database \"$DB_NAME\" was dumped successfully!" >> $DB_LOG
  26. tar -czf $DB_PATH$DB_FILE.tar.gz $DB_PATH$DB_FILE
  27. chmod 777 $DB_PATH$DB_FILE.tar.gz
  28. chown backup $DB_PATH$DB_FILE.tar.gz
  29. chgrp backup $DB_PATH$DB_FILE.tar.gz
  30. echo "[$LOG_TIME_FORMAT]-[Database backup - By Server]: Dump file was compressed successfully!(.sql -> .tar.gz)" >> $DB_LOG
  31. rm $DB_PATH$DB_FILE
  32. echo "[$LOG_TIME_FORMAT]-[Database backup - By Server]: Original file(.sql) was deleted successfully!" >> $DB_LOG

  33. exit 0
复制代码
附2:crontab设置:
  1. [root@BSD:/]#crontab -l
  2. */30  * * * * /usr/sbin/ntpdate 3.freebsd.pool.ntp.org
  3. 0  1 * * * /root/scripts/mysql_dump.sh
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP