rsync同步脚本示例:高效自动备份与排除规则

需积分: 5 1 下载量 80 浏览量 更新于2024-08-03 收藏 2KB TXT 举报
该脚本是一份精心编写的rsync同步脚本,用于高效地在Linux服务器之间进行文件同步和管理。它主要关注以下几个关键知识点: 1. **包管理器安装**: - 使用`yum install epel-release`来安装额外的软件包仓库,以便获取更多的软件包选项。 - 安装`screen`和`openssh-clients`,确保有基本的终端管理和SSH客户端工具。 2. **SSH密钥管理**: - `sudo ssh-keygen`用于生成SSH密钥对,这是为了实现无密码登录,提高安全性。 - `sudo ssh-copy-id`命令将本地的公钥复制到远程服务器,允许用户验证无密码登录。 3. **rsync脚本编写**: - 脚本(`/opt/shell/rsync.sh`)采用nohup和rsync命令结合,通过`--avzPpu`参数实现增量同步、压缩、保留权限、更新时间戳、删除旧版本和排除特定文件。其中,`/bin/ssh-p22`指定了使用的SSH连接方式(可能是一种安全配置)。 - `crontab`定时任务被用来定期执行此脚本,通过`crontab -l > crontab-wml.txt`备份当前的cron表,然后编辑以添加或修改rsync任务,最后保存。 4. **文件排除规则**: - `excluded`文件列出了一系列文件和目录名模式,如日志文件、数据库备份、临时文件等,以防止不必要的同步。 5. **实际同步操作**: - 脚本中有多条`rsync`命令,分别用于同步不同的源目录到远程服务器的不同目标路径,如/home/support、/opt/server、/app和本地配置文件夹。 6. **权限设置**: - `chmod +x /opt/shell/rsync.sh`确保脚本具有执行权限,方便运行。 7. **自动化部署**: - 使用`sudo`命令行,整个脚本实现了自动化部署,减少了手动操作的复杂性。 这个脚本展示了如何使用rsync进行高效、可靠的文件同步,并且结合了SSH密钥管理和cron定时任务,使得数据的持续备份和维护变得更加便捷。同时,通过排除规则,确保了同步操作的精确性和安全性。