将VPS数据库自动备份到另一台FTP服务器
网址:http://www.since2006.com/blog/218
现在大部分VPS都是Unmanaged的,虽然都宣称做了RAID10但在论坛上偶尔还是有看到数据丢失的事情,更多的情况是碰到不符合VPS商的服务条款而被关闭了帐号没及时备份造成的。
正好有一个15刀/年的VPS,由于拿来放网站线路经常抽风所以一直空在那里,现在可以派上用场了。
首先确保正式服务器上安装了lftp(ftp命令行客户端),备份服务器上安装了ftp服务端(任意)。
第一次折腾bash,现学现卖,功能是备份mysql中一个或多个数据库并打包传送到远程ftp服务器中去:
#!/bin/bash # --------------- 配置项 ------------- # 数据库用户 DB_USER="root" # 数据库密码 DB_PASSWD="123456" # 要备份的数据库名,多个用空格分开 DB_BACKUP_DATABASE_LIST="db1 db2" # 备份文件本地存放路径 DB_BACKUP_DIR="/home/hee/backup/db" # 远程FTP配置信息,格式:用户名:密码@服务器地址 REMOTE_FTP_DSN="user:passwd@ip" # ------------ 以下内容无需编辑 ------------- YYYYMMDD=$(date +%Y-%m-%d) # ----------------------------------- DB_BACKUP_FILE="$DB_BACKUP_DIR/$YYYYMMDD.sql.gz" # ----------------------------------- mkdir -p $DB_BACKUP_DIR cd $DB_BACKUP_DIR mysqldump --user=$DB_USER --password=$DB_PASSWD --lock-all-tables --databases $DB_BACKUP_DATABASE_LIST | gzip > $DB_BACKUP_FILE lftp $REMOTE_FTP_DSN -e "put $DB_BACKUP_FILE;exit;"
然后设置一个定时任务,按想要的时间定时执行一下就OK了。

本文相关评论|Comments
奖杯制作 发布了如上评论 | Dec 06, 2011