请教一个crontab的问题
本帖最后由 spluto 于 2013-02-24 13:18 编辑大家好,我在我的VPS上写了一个导出数据库的批处理文件,是Bash的,然后用crontab设置在每天凌晨1点整执行,脚本写好之后,手工测试无任何问题,可以得到完整的数据库备份文件,但是如果把这个批处理放到crontab中执行,每次得到的都是一个空文件,我查了一些资料,但也没有得到什么好的结果,请大家赐教,帮我看看问题出在哪里,谢谢!
附1: 批处理内容:#!/usr/local/bin/bash
#VARIABLES DEFINITION
YEAR=`date|cut -c 25-28`
MONTH=`date +%m`
DAY=`date +%d`
HOUR=`date|cut -c 12-13`
MINUTE=`date|cut -c 15-16`
SECOND=`date|cut -c 18-19`
LOG_DATE_FORMAT=$YEAR-$MONTH-$DAY
LOG_TIME_FORMAT=$HOUR:$MINUTE:$SECOND
# DATABASE PARAMETERS DEFINITION
DB_NAME=***
DB_USER=***
DB_PASS=***
DB_FILE=$DB_NAME.$YEAR$MONTH$DAY.sql
DB_PATH=/home/backup/mysql/
DB_LOG=/home/backup/mysql/backup.log
# Starting process database
echo " " >> $DB_LOG
echo "============================================= Log file created on $LOG_DATE_FORMAT =========================================" >> $DB_LOG
echo " " >> $DB_LOG
echo "[$LOG_TIME_FORMAT]-: System variables were set, date format: YYYY-MM-DD, time format: HH:MM:SS." >> $DB_LOG
echo "[$LOG_TIME_FORMAT]-: Database parameters were set." >> $DB_LOG
mysqldump -u$DB_USER -p$DB_PASS --database $DB_NAME > $DB_PATH$DB_FILE
echo "[$LOG_TIME_FORMAT]-: Database \"$DB_NAME\" was dumped successfully!" >> $DB_LOG
tar -czf $DB_PATH$DB_FILE.tar.gz $DB_PATH$DB_FILE
chmod 777 $DB_PATH$DB_FILE.tar.gz
chown backup $DB_PATH$DB_FILE.tar.gz
chgrp backup $DB_PATH$DB_FILE.tar.gz
echo "[$LOG_TIME_FORMAT]-: Dump file was compressed successfully!(.sql -> .tar.gz)" >> $DB_LOG
rm $DB_PATH$DB_FILE
echo "[$LOG_TIME_FORMAT]-: Original file(.sql) was deleted successfully!" >> $DB_LOG
exit 0附2:crontab设置:#crontab -l
*/30* * * * /usr/sbin/ntpdate 3.freebsd.pool.ntp.org
01 * * * /root/scripts/mysql_dump.sh
页:
[1]