VPS自动备份Shell脚本

2012年3月5日

VPS自动备份Shell脚本,用于Linux系统上一键备份和管理MySQL数据库以及Web数据,并自动上传至远程备份服务器。

一、特点与功能

1、纯shell脚本,使用简单,技术门槛低,容易修改,删除即可卸载。

2、可指定数据备份频率及保存的备份数量,能自动删除不必要的旧备份。

3、可指定多个需要备份的Mysql数据库,甚至排除某个数据库不备份。

4、可指定多个需要备份的数据目录,甚至支持二级目录打包备份。

5、支持本地和多重备份(ftp,scp,amazon s3),异地备份可选完全和增量备份。

二、下载与使用

2.1、下载脚本

https://gist.github.com/1505857

2.2、设置cron守护进程

自动执行频率可随意设置,一般一小时一次就足够了。

2.3、安装附加软件

如果你需要进行远程FTP、SCP备份,则需安装lftp、expect。

三、配置选项

# 备份数据存放目录

MySQL备份选项

# 是否启用Mysql备份,0是关闭,1是启用。

# 数据库备份时间间隔,1小时=3600秒。

# 数据库备份保存数量,默认保存最近4次备份。
# 例如:一天备份二次,需要保存最近二天备份,则此处填”4″

# 数据库主机、用户名、密码。

# 需要备份的数据库名,多个数据库要用空格分开,all表示所有数据库。

# 需要排除备份的数据库名,多个数据库要用”|”分开。

web备份选项

# 是否启用Web数据本地备份,0是关闭,1是启用。

# 数据备份时间间隔,1小时=3600秒。

# 数据备份保存数量,默认保存最近2次备份。
# 例如:一天备份一次,需要保存最近二天备份,则此处填”2″

# 需要备份的数据源目录,多个目录要用空格分开。

# 需要备份的数据源目录深度,文件夹=0,文件夹+子文件夹=1

FTP备份选项

# 是否启用远程FTP备份,0是关闭,1是启用。

# FTP备份间隔,0表示禁用,1小时=3600秒

# FTP备份模式,完全备份=0,增量备份=1

# 远程FTP存储备份文件夹,如果不存在,则脚本会自动创建。

# 远程FTP主机、用户名、密码。

SCP备份选项

# 是否启用远程scp备份,0是关闭,1是启用。
# 注意:为支持免证书登陆,需安装”expect”

# SCP备份间隔,0表示禁用,1小时=3600秒

# 远程主机、用户名、密码。

# 远程主机存储备份文件夹。

Amazon S3备份选项

# 是否启用Amazon s3备份,0是关闭,1是启用。

# Amazon s3 备份间隔,0表示禁用,1小时=3600秒

# Amazon s3备份模式,完全备份=0,增量备份=1

# Amazon s3 BUCKET名称,如果不存在,则脚本会自动创建。

# Amazon access key

# Amazon secret access key

四、建议反馈

如果您发现脚本存在错误或有更好的建议,可直接留言或发邮件至:

myidwy(at)gmail.com

五、更新历史

2011.12.23: 更新至0.2版,支持自定义远程备份频率、优化代码减少冗余。
2012.01.26: 更新至0.3版,修复在特定条件下,备份时间间隔值设置无效。

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: VPS自动备份Shell脚本
  1. 皇家元林 | #1
    2012年12月6日07:41

    我用的是debian,,一直想用这样的备份,可就是感觉好麻烦,这配置

本文的评论功能被关闭了.