专注云服务商活动
网站运营运维笔记

一键且自动备份Linux VPS文件/数据库脚本功能及应用

老左每年都会看到不少的网友痛诉主机商如何如何,导致自己数据丢失的问题,有些站长在选择VPS、服务器架设网站之后,压根一次都没有备份过,如果有这种可能主机商磁盘坏了,跑路了,数据无法恢复了,那么结果可想而知。主机商固然是有原因,但无论我们选择何家主机,需要备份的是我们自己,不能太依赖商家。

甚至我们需要多方式、多渠道备份,在上上周的时候老左遇到一个网友通过快照备份某个主机,但是迁移数据还原的时候无法启动,就这么数据备份成快照,但无法还原的结果。当然,老左每年也会折腾不少的VPS,也有一些自认为比较稳定的商家会放松备份警惕,比如一直用来存放脚本、资源的资源库,前一段时间由于磁盘坏掉也没有能恢复数据,可见备份的重要性。

我们每个人都有各自的备份网站方式,有直接手工下载复制备份,也有网站自带的备份功能,也有导出数据库打包文件下载备份,也有高级一点的用户实现自动异地备份。反正不管如何,我们选择适合自己的都可以,即便数据不太重要,也要有一定的备份规律,好歹万一出问题,大部分数据都在。

老左之前有分享过相关备份网站和数据库的文章:

1、OneinStack自带本地/远程备份网站文件和数据库使用方法

2、详解使用mysqldump命令备份还原MySQL数据用法整理

3、常见Linux VPS主机备份MYSQL数据库的4个方法

在这篇文章中,老左看到teddysun同学在博客中发布的一个备份数据库脚本,可以实现自动备份到本地服务器,以及还可以备份到Google Drive网盘。

第一、准备工作

1、这个脚本老左也是第一次使用,所以我们在准备使用之前建议在测试机或者将已有数据备份再测试,以免有不良症状。

2、根据介绍可以备份全数据库MySQL/MariaDB,或者指定数据库用户备份。

3、还支持将文件直接上传至远程FTP空间,以及支持备份到Google Drive网盘。

4、本文脚本来自https://teddysun.com/469.html,具体以官方为准,并感谢teddysun提供脚本。

第二、一键备份脚本下载和授权

wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh
chmod +x backup.sh

第三、修改文件配置参数

在执行脚本之前,我们需要先修改backup.sh参数,里面内容比较丰富,修改需要细致。

1、基本参数

一键且自动备份Linux VPS文件/数据库脚本功能及应用 - 第1张

ENCRYPTFLG :true设置加密
BACKUPPASS :设置打包加密密码
LOCALDIR:设置备份目录,根据我们实际的一键包或者面板设置
TEMPDIR:备份临时目录
LOGFILE:脚本运行时候的日志文件
MYSQL_ROOT_PASSWORD:ROOT数据库管理密码
MYSQL_DATABASE_NAME:指定备份数据库名,不写则备份全部数据库用户

备注:MYSQL_DATABASE_NAME是数组形式,如果一次备份多个数据库名,我们依次复制且修改数组参数。

2、指定备份文件

我们可以只备份上面数据库,也可以通过这个脚本设定备份网站文件目录。

一键且自动备份Linux VPS文件/数据库脚本功能及应用 - 第2张

我们可以在BACKUP[0]=""设置备份目录,同样是数组形式,如果有备份多个网站,则格式复制数组形式。

3、远程FTP空间信息

一键且自动备份Linux VPS文件/数据库脚本功能及应用 - 第3张

FTP_FLG:是否上传至远程FTP空间,true 为上传
FTP_HOST:远程FTP服务器IP地址
FTP_USER:远程FTP服务器用户
FTP_PASS :远程FTP服务器密码
FTP_DIR :远程服务器备份的目录文件夹,可以指定

第四、执行备份脚本体验

./backup.sh

这里我们修改好参数之后,可以自行脚本实现备份进程。

一键且自动备份Linux VPS文件/数据库脚本功能及应用 - 第4张

即便我们后面需要设定定时备份,我们也需要手工测试下脚本是否正常。这里我就简单备份下数据库测试,可以看到执行没有错误,且在对应备份目录有备份下来的数据库。

第五、解密、解压缩文件

无论我们是备份到本地服务器,还是远程FTP空间,建议采用加密形式,这样即便FTP空间文件泄露,也至少有一道较为安全保障。这里我们备份好的文件是.ENC加密格式的,我们需要先解密后解压。

一键且自动备份Linux VPS文件/数据库脚本功能及应用 - 第5张

1、解密格式

openssl enc -aes256 -in [解密文件名] -out 解密出来的文件夹压缩包.tgz -pass pass:[设定的加密密码] -d -md sha1

2、解压缩

tar -zxPf [压缩包名称]

第六、设定定时运行

30 1 * * * root bash /root/backup.sh

如果我们希望实现自动定时备份运行,可以添加到crontab定时脚本中执行。

最后,这个脚本还自带备份到谷歌网盘的,如果有需要可以参考官方网站去设定。一般我们用法备份到本地或者自己的FTP空间远程备份也是够用的。

投上你的一票
域名主机商优惠信息推送QQ群: 627775477 获取商家优惠推送,禁言。
赞(0)
未经允许不得转载:老左笔记 » 一键且自动备份Linux VPS文件/数据库脚本功能及应用