linux数据库自动备份脚本

[message_box title=”目录” color=”yellow”]

[/message_box]

    经历过多次数据丢失的情况,真是心痛的要命。痛定思痛开始寻找如何每天定时备份数据内容,功夫不负有心人被我找到了,虽然应用过程中除了写小差错,但最终还是实现了目标。本文附带的脚本不是我原创的,是根据网上一个不知名的高手编写的脚本修改而来,可以实现将数据库定时备份并上传至FTP服务器。

关键字: mysql自动备份 ,VPS自动备份 ,数据库自动备份 ,MySQL自动备份脚本

问题延伸

  • linux服务器自动备份数据
  • mysql自动备份脚本
  • 数据库定时备份

脚本内容

将下列文字保存为mysql.sh

#!/bin/bash
MYSQL_USER= #数据库用户名
MYSQL_PASS= #数据库密码
FTP_USER= #FTP用户名
FTP_PASS= #FTP密码
FTP_IP= #FTP地址
FTP_backup= #备份目录
DataBakName=Data_$(date +"%Y%m%d").tar.gz
OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
rm -rf /opt/Data_$(date -d -3day +"%Y%m%d").tar.gz /opt/Web_$(date -d -3day +"%Y%m%d").tar.gz
cd /opt
for db in `/usr/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
(/usr/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip  > ${db}.sql.gz)
done
tar zcf /opt/$DataBakName /opt/*.sql.gz
rm -rf /opt/*.sql.gz
ftp -v -n $FTP_IP << END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $OldData
put $DataBakName
bye
END

定时执行脚本

编辑/etc/crontab

vi /etc/crontab

在里面加入如下内容

00 00 * * * /opt/mysql.sh

脚本下载

你也可以直接下载脚本:mysql.zip

鸣谢:

脚本内容基于http://www.vmvps.com/vps-auto-backup-data-to-ftp-disk.html修改

版权所有©艾克斯记事-转载文章请注明出处(带链接)

2人评论了“linux数据库自动备份脚本”

  1. Pingback: 我选择虚拟主机的经历 | 网家

  2. Pingback: Linux下通过rsync+ssh镜像备份 | 网家

发表评论

电子邮件地址不会被公开。 必填项已用*标注