我们正在运行带有许多MySql数据库atm的CentOS服务器,我需要的是一种非常简便的方法来备份这些数据库。由于它们中的许多都处于混乱状态。转储它们,将它们压缩然后发送到安全的Google Apps帐户听起来是个不错的主意。
因此,我需要的是:一个脚本,该脚本将转储并压缩数据库,然后在其他地方无法通过电子邮件发送给某个地方。
最佳答案
我使用以下脚本将小型转储发送到专用邮件帐户。
当然,这假定您可以使用mail
命令从计算机发送邮件。
#!/bin/bash
gzdate=`/bin/date +%Y-%m-%d_%H%M`;
gzfile=dump_${gzdate}.sql.gz
[email protected]
dumpuser=username
dbname=mydb
mysqldump --single-transaction --opt -u ${dumpuser} ${dbname} | gzip > ${gzfile}
if [ $? == 0 ]; then
( echo "Database Backup from ${gzdate}:"; uuencode ${gzfile} ${gzfile} ) | mail -s "Database Backup ${gzdate}" ${mailrecpt};
else
( echo "Database Backup from ${gzdate} failed." ) | mail -s "FAILED: Database Backup ${gzdate}" ${mailrecpt};
fi
您只需要调整顶部的变量即可。