使用mysqldump使用.sh脚本备份30个数据库。 27 DB的备份成功,每天都是相同的大小,但是3 DB没有,似乎只是在转储过程中随机停止,没有任何错误。
这是脚本
#!/bin/bash appname=myapp dbname=mydb dbuser=myuser dbpass=mypass datestamp=`date +%d%m%y` rm -f /var/backups/* > /dev/null 2>&1 mysqldump -u$dbuser -p$dbpass $dbname > /var/backups/$dbname-$datestamp.sql && gzip /var/backups/$dbname-$datestamp.sql tar -zcf /var/backups/data-$datestamp.tar.gz /var/www/data > /dev/null 2>&1 tar -zcf /var/myapp-backups/myapp-$datestamp.tar.gz /var/www/myapp > /dev/null 2>&1
我用Mysqlcheck检查了失败的数据库,并且一切看起来都很好,所以现在我不确定在哪里查找错误
没有错误我的var / log / mysql和有一个error.log今天写在06.32这将是正确的时间cron运行,但它的空
任何想法谢谢
您可能需要捕获mysqldump的stderr
mysqldump ... 2>/var/log/mysqldump.err
要在转储时获取错误日志,请添加-v和2> log.txt:
mysqldump -v -u -p databasename> databasesqlfile.sql 2> log.txt
您也可以在mysql configuraion中启用详细日志logging,并在转储过程中遇到错误时检查这些日志。 启动mysql并运行:
显示variables如'%log%;
另外,在configuration文件中,启用以下日志:
的[mysqld]
login斌
日志
login错误
login慢查询
并重新启动mysql以应用更改。