|
|
除非特别说明不适用的项目,本备份方法都适用。
|
|
|
|
|
|
# 人工备份
|
|
|
## 人工备份
|
|
|
谈到数据备份,其实就是复制服务文件夹。此文以管廊项目为例,名为`pipeline`。下文中所有**pipeline**在使用时需替换为对应项目的服务文件夹名称。每个项目的服务文件夹名称就是部署时服务包的名称,例如苏州管廊服务包为suzhou.tar.gz,其服务文件夹名称就是suzhou。
|
|
|
|
|
|
## 停止服务
|
|
|
### 停止服务
|
|
|
为了防止备份时有数据写入,造成备份无法使用。备份之前需要停止服务,操作方法为:
|
|
|
|
|
|
1. 执行 `cd pipeline`
|
... | ... | @@ -12,19 +12,19 @@ |
|
|
|
|
|
> 注意出现的选项,如果只有安装和卸载的,请选择卸载。否则请选择停止服务!
|
|
|
|
|
|
## 授权当前用户
|
|
|
### 授权
|
|
|
|
|
|
1. 执行 `sudo chown -R u .`
|
|
|
2. 输入系统密码, 按enter
|
|
|
|
|
|
## 打包
|
|
|
### 打包
|
|
|
|
|
|
1. 执行 `cd ..`
|
|
|
2. 执行 `tar zcvf pipeline时间.tar.gz pipeline`
|
|
|
|
|
|
> 注意将时间替换成你备份时的时间!打包文件从服务器中复制到自己电脑上方法见(文档)[http://27.17.7.86:96/open/doc/wikis/02.-ssh%E8%BF%9E%E6%8E%A5%E6%9C%8D%E5%8A%A1%E5%99%A8-,-scp%E4%BC%A0%E8%BE%93%E6%96%87%E4%BB%B6,-%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C,-nano%E6%96%87%E4%BB%B6%E7%BC%96%E8%BE%91#%E4%BD%BF%E7%94%A8pscp%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6]
|
|
|
|
|
|
## 启动服务
|
|
|
### 启动服务
|
|
|
|
|
|
1. 执行 `cd pipeline`
|
|
|
2. 执行 `sh auto.sh`
|
... | ... | @@ -34,24 +34,44 @@ |
|
|
|
|
|
------
|
|
|
|
|
|
# 自动备份
|
|
|
## 自动备份
|
|
|
|
|
|
## 配置
|
|
|
**注意: 此方式只能备份数据库,只需配置一次即可!** 完成设置之后, 系统会在每天3点停止服务, 然后备份数据库, 备份完成后自动启动服务.
|
|
|
> 只能备份数据库!
|
|
|
|
|
|
执行`sudo crontab -u root -e`, 首次执行此命令会有提示, 让你选择一个编辑器. 会出现一段提示, 其中一行后面有`<---- easiest`, 输入此行前面的数字(比如 2. /bin/nano <---- easiest 就输入2), 然后按回车. 会进入一个编辑文本的页面, 按键盘`↓`键在末尾添加新行, 输入如下内容:
|
|
|
### 配置执行任务
|
|
|
|
|
|
执行命令 `sudo crontab -u root -e` ,进入编辑状态。
|
|
|
> 首次执行可能会有提示让你选择编辑器,输入其中有**nano**字样的行前面的数字,然后按回车。
|
|
|
|
|
|
按键盘`↓`键在末尾添加新行, 输入如下内容:
|
|
|
```
|
|
|
# Backup
|
|
|
0 3 * * * sh /home/u/项目文件夹名称/backup.sh
|
|
|
0 3 * * * sh /home/u/changchunwushui/backup.sh --dir=/home/u/backup
|
|
|
```
|
|
|
按ctrl+o, 按enter, 按ctrl+x, 然后执行`sudo service cron restart`
|
|
|
> `changchunwushui`应该替换为你的工程文件夹的名称!`/home/u/backup`应该替换成你想保存备份的文件夹的路径。
|
|
|
> `0 3 * * *` 应该替换成你自己的设置,是时间规则,[查看说明及示例](https://crontab.guru/)。
|
|
|
> 每行设置一条执行任务,时间规则一般是指定时间或固定周期的,如果你有特殊需求可以设置多行。
|
|
|
|
|
|
按ctrl+o, 按enter, 按ctrl+x,执行命令 `sudo service cron restart`
|
|
|
|
|
|
### 检查是否生效
|
|
|
|
|
|
待配置执行任务的时间规则被触发一次后,进入保存备份文件夹检查是否在指定时间生成了备份文件夹。
|
|
|
|
|
|
## 检查设置是否生效
|
|
|
所有备份会存入 `/home/u/项目文件夹名称/backup` 目录中, 请在配置完成后第二天进入此文件夹中检查. 确认里面是否存在以 `.tar.gz` 结尾的文件, 如有则说明自动备份有效
|
|
|
### 例子
|
|
|
|
|
|
每天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`的文件夹。
|
|
|
|
|
|
## 定期清理备份
|
|
|
应该定期使用scp命令将备份文件下载到其它设备中保存, 然后从服务器中删除此备份文件以释放磁盘空间. 删除命令为:
|
|
|
不想每天备份,想每周三,周日的3点备份,则配置执行任务:
|
|
|
```
|
|
|
sudo rm 文件名称
|
|
|
# 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
|
|
|
```
|
|
|
**请谨慎使用!** |
|
|
\ No newline at end of file |
|
|
> 需要注意周日对应的数字是0! |
|
|
\ No newline at end of file |