rsync定时增量备份
时间: 2023-10-30 11:05:50 浏览: 232
好的,针对您的问题,我可以给出以下回答:
rsync是一种常用的文件同步工具,可以实现本地或远程文件之间的同步。而增量备份则是指只备份发生变化的文件,以减少备份所需的时间和空间。
要实现定时增量备份,可以使用crontab来设置定时任务,具体步骤如下:
1. 编写rsync命令,包括源目录、目标目录、排除文件等参数。
2. 使用crontab -e命令编辑定时任务,设置备份时间和执行的rsync命令。
3. 保存并退出编辑器,crontab会自动执行定时任务。
以下是一个示例的rsync命令和crontab设置:
rsync -avz --delete --exclude 'logs/' /data/www/ user@backup:/backup/www/
# 每天凌晨1点执行备份任务
0 1 * * * /usr/bin/rsync -avz --delete --exclude 'logs/' /data/www/ user@backup:/backup/www/
相关问题:
1. rsync支持哪些常用的参数?
2. 如何排除某些文件或目录不进行备份?
3. 如何查看crontab中已有的
相关问题
Linux 定时增量备份
好的,针对您的问题,我可以给出以下的解决方案:
1. 使用 rsync 命令进行备份,可以增量备份,只备份修改过的文件,而不是全部备份。
2. 使用 crontab 定时任务,设置每天或每周定时执行备份任务。
具体操作步骤如下:
1. 安装 rsync 命令:
```
sudo apt-get install rsync
```
2. 创建备份脚本文件:
```
sudo nano backup.sh
```
3. 在备份脚本文件中添加以下内容:
```
#!/bin/bash
rsync -avz --delete /path/to/source /path/to/destination
```
其中,/path/to/source 是要备份的源文件夹路径,/path/to/destination 是备份文件夹路径。
4. 保存并退出备份脚本文件。
5. 设置备份脚本文件为可执行文件:
```
sudo chmod +x backup.sh
```
6. 使用 crontab 定时任务,设置每天或每周定时执行备份任务。例如,设置每天凌晨 2 点执行备份任务:
```
sudo crontab -e
```
在打开的文件中添加以下内容:
```
0 2 * * * /path/to/backup.sh
```
其中,/path/to/backup.sh 是备份脚本文件路径。
7. 保存并退出 crontab 文件。
这样就完成了 Linux 定时增量备份的设置。
定时增量备份/srun3/db_backup/和/srun3/redis_backup/目录下所有的子目录及文件到另一个服务器的remote_back目录下
好的,为您提供如下脚本,实现定时增量备份:
```bash
#!/bin/bash
# A服务器的IP地址和用户名
A_IP="A服务器IP地址"
A_USER="A服务器用户名"
# B服务器的IP地址和用户名
B_IP="B服务器IP地址"
B_USER="B服务器用户名"
# 备份源目录
SRC_DIR="/srun3/db_backup/ /srun3/redis_backup/"
# 备份目标目录
DEST_DIR="/remote_back"
# 备份文件的前缀
BACKUP_PREFIX="backup_"
# 获取当前日期时间
DATE_TIME=$(date "+%Y%m%d_%H%M%S")
# 备份文件的完整路径
BACKUP_FILE="${BACKUP_PREFIX}${DATE_TIME}.tar.gz"
# rsync命令备份
rsync -az --delete -e "ssh ${B_USER}@${B_IP}" ${SRC_DIR} ${B_USER}@${B_IP}:${DEST_DIR}
# 增量备份
ssh ${A_USER}@${A_IP} << EOF
cd /srun3
tar -zcvf ${BACKUP_FILE} --directory=/srun3 ${SRC_DIR}
scp ${BACKUP_FILE} ${B_USER}@${B_IP}:${DEST_DIR}
rm -f ${BACKUP_FILE}
exit
EOF
```
在上述脚本中,首先使用 rsync 命令将 A 服务器的备份目录同步到 B 服务器的备份目录,确保在执行增量备份时,B 服务器上的备份文件是最新的。然后,通过 SSH 连接到 A 服务器,在 A 服务器上使用 tar 命令将备份目录打包成一个 tar 压缩包,并将其传输到 B 服务器上。最后,删除 A 服务器上的备份文件。
您可以使用 cron 工具来定时执行该脚本。例如,将以下内容添加到 `/etc/crontab` 文件中,可以每天的凌晨 3 点执行该脚本:
```
0 3 * * * root /path/to/backup_script.sh
```
其中,`/path/to/backup_script.sh` 是您保存该脚本的路径。
阅读全文