写一个脚本 自动打包backup文件夹下面的文件 拷贝到另外一台服务器的home 目录下 再把原来的backup 打包的文件删除
时间: 2024-10-17 15:12:41 浏览: 20
通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器.doc
你可以使用bash或Python编写一个简单的自动化脚本来完成这个任务。这里是一个基本的bash脚本示例:
```bash
#!/bin/bash
# 定义源文件夹和目标目录
SOURCE_FOLDER="/path/to/your/local/backup"
DESTINATION_FOLDER="ssh://username@remote_server/home/backup"
# 使用rsync命令复制备份文件
echo "Copying files..."
rsync -avz --progress $SOURCE_FOLDER/ $DESTINATION_FOLDER
# 删除本地已打包的备份文件
echo "Deleting local backup files..."
cd $SOURCE_FOLDER
find . -type f -name "*.tar.gz" -mtime +1 | xargs rm -f # 只保留最近一天的备份
# 提示操作完成
echo "Backup process completed."
# 如果需要,可以添加错误处理和日志记录部分
```
在这个脚本中:
- `rsync`用于同步文件,`-a`选项保持文件权限、时间和属性,`-v`启用详细模式,`-z`压缩数据传输。
- `--progress`显示进度条。
- `find`命令搜索并删除旧的.tar.gz文件,`-mtime +1`表示只删除修改日期超过1天的文件。
请注意替换`/path/to/your/local/backup`为你的本地备份文件夹路径,以及`ssh://username@remote_server/home/backup`为你远程服务器的SSH地址。
阅读全文