除非特别说明不适用的项目,本备份方法都适用。
人工备份
谈到数据备份,其实就是复制服务文件夹。此文以管廊项目为例,名为pipeline
。下文中所有pipeline在使用时需替换为对应项目的服务文件夹名称。每个项目的服务文件夹名称就是部署时服务包的名称,例如苏州管廊服务包为suzhou.tar.gz,其服务文件夹名称就是suzhou。
停止服务
为了防止备份时有数据写入,造成备份无法使用。备份之前需要停止服务,操作方法为:
- 执行
cd pipeline
- 执行
sh auto.sh
- 输入b, 按enter
注意出现的选项,如果只有安装和卸载的,请选择卸载。否则请选择停止服务!
授权
- 执行
sudo chown -R u .
- 输入系统密码, 按enter
打包
- 执行
cd ..
- 执行
tar zcvf pipeline时间.tar.gz pipeline
注意将时间替换成你备份时的时间!打包文件从服务器中复制到自己电脑上方法见文档
启动服务
- 执行
cd pipeline
- 执行
sh auto.sh
- 输入a, 按enter
注意出现的选项,如果只有安装和卸载的,请选择安装。否则请选择启动服务!
【废弃】自动备份
只能备份数据库!
配置执行任务
执行命令 sudo crontab -u root -e
,进入编辑状态。
首次执行可能会有提示让你选择编辑器,输入其中有nano字样的行前面的数字,然后按回车。
按键盘↓
键在末尾添加新行, 输入如下内容:
0 3 * * * sh /home/u/changchunwushui/backup.sh --dir=/home/u/backup --keep=7
changchunwushui
应该替换为你的工程文件夹的名称!/home/u/backup
应该替换成你想保存备份的文件夹的路径。0 3 * * *
应该替换成你自己的设置,是时间规则,查看说明及示例。每行设置一条执行任务,时间规则一般是指定时间或固定周期的,如果你有特殊需求可以设置多行。--keep=7
是可选参数,用于设置备份的保留天数(超过删除)。如果你需要保留9天,将7改成9。
按ctrl+o, 按enter, 按ctrl+x,执行命令 sudo service cron restart
检查是否生效
待配置执行任务的时间规则被触发一次后,进入保存备份文件夹检查是否在指定时间生成了备份文件夹。
例子
每天16点备份备份数据库到/home/u/changchunwushui/backup
文件夹中。
在16点前配置执行任务:
# changchunwushui
0 16 * * * sh /home/u/changchunwushui/backup.sh --dir=/home/u/changchunwushui/backup
16点后进入/home/u/changchunwushui/backup
文件夹,发现里面自动创建了2020-11-19_16-00-01
的文件夹。
不想每天备份,想每周三,周日的3点备份,则配置执行任务:
# changchunwushui
0 3 * * 3 sh /home/u/changchunwushui/backup.sh --dir=/home/u/changchunwushui/backup
0 3 * * 0 sh /home/u/changchunwushui/backup.sh --dir=/home/u/changchunwushui/backup
需要注意周日对应的数字是0!