ACCESS DENIED
小Z小Z  2020-06-14 14:18 主机之家测评 隐藏边栏 |   抢沙发  23 
文章评分 0 次,平均分 0.0

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

一、特点与功能

1、纯 shell 脚本,使用简单,技术门槛低,容易修改,删除即可卸载。
2、可指定数据备份频率及保存的备份数量,能自动删除不必要的旧备份。
3、可指定多个需要备份的 Mysql 数据库,甚至排除某个数据库不备份。
4、可指定多个需要备份的数据目录,甚至支持二级目录打包备份。
5、支持本地和多重备份(ftp,scp,amazon s3),异地备份可选完全和增量备份。

二、下载与使用

2.1、下载脚本

https://gist.github.com/1505857

1
2
3
wget http://wangyan.org/download/shell/vps_auto_backup.sh
chmod 100 vps_auto_backup.sh
mkdir /var/shell && mv vps_auto_backup.sh /var/shell

2.2、设置 cron 守护进程

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

1
2
crontab -e
0 * * * * /bin/bash  /var/script/sys-mon.sh

2.3、安装附加软件

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

1
2
yum -y install lftp expect #centos
apt-get -y install lftp expect #ubuntu

三、配置选项

# 备份数据存放目录

1
BACKUP_DIR="/root/vps-bak"

MySQL 备份选项

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

1
ENABLE_MYSQL_BACKUP="1"

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

1
MYSQL_BACKUP_CYCLE="43200"

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

1
MYSQL_BACKUP_NUM="4"

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

1
2
3
MYSQL_HOST="localhost"
MYSQL_USER="root"
MYSQL_PWD="123456"

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

1
MYSQL_DB_NAMES="all"

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

1
MYSQL_EXCLUDE_DB="phpmyadmin|information_schema|performance_schema"

web 备份选项

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

1
ENABLE_LOCAL_BACKUP="1"

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

1
WWW_BACKUP_CYCLE="86400"

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

1
WWW_BACKUP_NUM="2"

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

1
WWW_BACKUP_DIRS="/home /var/www"

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

1
WWW_BACKUP_DEPTH="1"

FTP 备份选项

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

1
ENABLE_FTP_BACKUP="0"

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

1
FTP_BACKUP_CYCLE="0"

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

1
FTP_BACKUP_MODE="0"

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

1
FTP_REMOTE_DIR="vps-bak"

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

1
2
3
FTP_HOSTNAME="192.168.8.128"
FTP_USERNAME="test"
FTP_PASSWORD="test"

SCP 备份选项

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

1
ENABLE_SCP_BACKUP="0"

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

1
SCP_BACKUP_CYCLE="0"

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

1
2
3
SCP_HOST="192.168.8.128"
SCP_USER="root"
SCP_PASSWD="123456"

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

1
SCP_REMOTE_PATH="/root/vps-bak"

Amazon S3 备份选项

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

1
ENABLE_S3_BACKUP="0"

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

1
S3_BACKUP_CYCLE="0"

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

1
S3_BACKUP_MODE="0"

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

1
S3_BUCKET="vps-bak"

# Amazon access key

1
ACCESS_KEY_ID="123456"

# Amazon secret access key

1
SECRET_ACCESS_KEY="123456"

四、建议反馈

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

myidwy(at)gmail.com

声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
小Z
小Z 关注:0    粉丝:0
【声明】:本站宗旨是为方便站长、科研及外贸人员,请勿用于其它非法用途!站内所有内容及资源,均来自网络。本站自身不提供任何资源的储存及下载,若无意侵犯到您的权利,请及时与我们联系。

发表评论

扫一扫二维码分享