现在使用lnmp.org的lnmp一键安装包的用户很多,目前最新版是lnmp1.5,我也用了很长时间了。最近呢,我又尝试了一下用Oneinstack来自定义化安装lnmp。安装过程中看到Oneinstack有备份数据的脚本,于是就尝试了一下把网站数据和数据库定时备份到阿里云对象存储。下面分享一下过程。
演示环境
- Debian 9.0.0 64bit
- Mysql 8.0.15 (MySQL Community Server - GPL)
大致步骤
注:前提是基于Oneinstack安装的lnmp。
- 创建阿里云OSS存储桶
- 创建阿里云OSS Access Key
- 配置backup_setup.sh
- 添加定时任务执行backup.sh
具体过程
- 创建阿里云OSS存储桶
示例这里我创建的是华东1区(杭州)的公共读的标准存储桶,名字为
backup-uuwosi
- 创建阿里云OSS Access Key
回到对象存储首页,在右侧找到
Access Key项,图中红框处
创建Access Key完成,得到AccessKey ID和AccessKey Secret
- 配置backup_setup.sh
在SSH中进入到
oneinstack/文件夹内 执行backup_setup.sh./backup_setup.sh具体配置见图,备份的天数默认是5天,也就是在阿里云OSS中存储最近5天的备份,过期的自动删除。如果有需要可以自行更改
配置完成测试一下,执行备份脚本./backup.sh看到如下信息表示成功备份
mysql: [Warning] Using a password on the command line interface can be insecure. mysqldump: [Warning] Using a password on the command line interface can be insecure. Succeed: Total num: 1, size: 635. OK num: 1(upload 1 files). 0.073839(s) elapsed Succeed: Total 0 objects. Removed 0 objects. 0.064220(s) elapsed Succeed: Total num: 1, size: 127. OK num: 1(upload 1 files). 0.098689(s) elapsed Succeed: Total 0 objects. Removed 0 objects. 0.078291(s) elapsed然后你会在阿里云OSS存储桶里看到备份的文件
- 添加定时任务执行backup.sh
把执行备份任务的脚本添加到定时执行中
crontab -e在任务列表添加一行
0 3 * * * /root/oneinstack/backup.sh这条命令的意思是每天凌晨3点执行备份任务 注:如有需要,请将以上命令替换为你的
backup.sh所在位置
Oneinstack备份脚本还支持备份到本地、远程主机、腾讯云COS、又拍云、七牛云、Amazon S3对象存储、Google Drive和Dropbox,有兴趣的同学可以尝试一下。