まず、スクリプトを手動で実行すると正常に動作するため、crontabでは正しく動作しないと言っています。
問題は、cronjobを使用してバックアップスクリプトを実行すると、mysqlダンプがtarになり、tarアーカイブの16
バイトサイズが(空であるため、パックするファイルがないように見える)ということです。アーカイブ)、それについての奇妙なことは、私が手動でスクリプトを実行すると、それはほぼ5〜分実行され、tarパッケージのサイズは~1.8GB
です。
これが私のbashコードです:
#!/usr/local/bin/bash
# Configuration
BACKUPD="/backup/mysql"
MySQLuser='root'
MySQLpass='xxxx'
# End configuration
ROK=`date +%Y`
MIESIAC=`date +%m`
DZIEN=`date +%d`
GIM=`date +%H-%M`
if [ -d $BACKUPD/$ROK/$MIESIAC/$DZIEN ]
then
echo
else
mkdir -p $BACKUPD/$ROK/$MIESIAC/$DZIEN
fi
for db in $(echo "SHOW DATABASES;" | mysql --user=$MySQLuser --password=$MySQLpass | grep -v -e "Database" -e "information_schema")
do
mysqldump --skip-lock-tables --ignore-table=log.log --user="$MySQLuser" --password="$MySQLpass" $db >$BACKUPD/$ROK/$MIESIAC/$DZIEN/$db.sql
done
cd $BACKUPD/$ROK/$MIESIAC/$DZIEN && tar jcPf $BACKUPD/$ROK/$MIESIAC/$DZIEN/mysql-$GIM.tar.bz2 *.sql && rm -rf *.sql
問題はどこだ?誰かが以前にこのような問題を経験したことがありますか?
よろしく。