【ubuntu20】--- 定时同步文件

  • 在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。
  • 而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

【Linux命令】--- 多核压缩命令大全(加快压缩和解压)

开发环境

  • 开发环境:ubuntu20

一、rsync命令的常用选项

  • rsync命令的选项非常丰富,下面列出了一些常用的选项:

  • -a:归档模式,表示以递归方式传输文件,并保持文件的属性,如修改时间、访问权限、所有者等。这个选项是-rlptgoD的集合,其中r表示递归,l表示保持符号链接,p表示保持文件权限,t表示保持文件时间戳,g表示保持文件所属组,o表示保持文件所有者,D表示保持设备文件和特殊文件。

  • -v:详细模式,显示文件传输的详细信息。

  • -z:在传输过程中使用gzip压缩文件数据,有助于加快传输速度,特别是对于大文件或网络带宽有限的情况。

  • --progress:显示文件传输的进度信息。

  • --delete:删除目标目录中存在而源目录中不存在的文件,使目标目录成为源目录的镜像。

  • --exclude:排除与指定模式匹配的文件或目录。

二、安装rsync

shell 复制代码
sudo apt update
sudo apt install rsync

三、设置cron计划任务

编辑crontab文件以设置定时任务:

bash 复制代码
crontab -e

四、创建rsync命令

  • 根据实际需求,选择适合的选项来构建rsync命令。以下的示例,演示了如何将本地文件夹同步到远程服务器,并显示详细的传输进度信息:

示例1:同步本地文件夹到远程服务器

bash 复制代码
rsync -avz --progress /local/path/to/source/ username@remote_server:/path/on/server/ --delete

命令功能详解:

  • 归档模式 (-a):

    • 保持文件属性不变。
    • 允许递归复制整个目录结构。
  • 压缩传输 (-z):

    • 使用gzip压缩数据,减少传输量。
  • 显示进度 (--progress):

    • 提供实时的文件传输进度信息。
  • 镜像删除 (--delete):

    • 删除目标目录中源目录没有的文件,实现目录镜像。

示例2:定时同步文件夹(不使用镜像删除)

shell 复制代码
00 22 * * * rsync -av /tmp/history_log/ /root/history_file/

说明:

  • 该cron任务每晚10点执行。
  • 使用归档模式 (-a) 保持文件属性并递归复制。
  • 注意,未使用 --delete 选项,因此不会删除目标目录中额外的文件。

示例3:另一个定时同步示例(不使用镜像删除)

shell 复制代码
00 23 * * * rsync -av /home/share/project/ /root/project/

说明:

  • 该cron任务每晚11点执行。
  • 类似于示例2,它也使用归档模式 (-a) 进行递归复制,并保持文件属性。
  • 同样没有使用 --delete 选项,所以目标目录中额外的文件将保留。

五、重要提示

  • 在使用rsync命令时,请确保对源目录和目标目录具有适当的权限。
  • 根据具体需求调整rsync命令的选项。
  • 定期检查同步结果,以确保数据的完整性和准确性。

六、额外提示:

  • 日志记录:如果希望记录rsync的执行情况。可以将rsync的输出重定向到一个日志文件中,例如:
shell 复制代码
  0 2 * * * rsync -avz --progress /local/path/to/source/ username@remote_server:/path/on/server/ --delete > /var/log/rsync.log 2>&1
  • 这会将标准输出和标准错误都重定向到/var/log/rsync.log文件中。
相关推荐
毒手药王12 分钟前
USR-M100采集数据并提交MQTT服务器
运维·服务器·mqtt3.1.1
matrixlzp15 分钟前
Nginx 使用 Keepalived 搭建 nginx 高可用
运维·nginx
陳長生.39 分钟前
JAVA EE_网络原理_网络层
java·服务器·开发语言·网络·java-ee
蛔虫在他乡44 分钟前
远程服务器pycharm运行tensorboard显示训练轮次图
服务器·学习·pycharm
熬夜学编程的小王1 小时前
【Linux篇】高并发编程终极指南:线程池优化、单例模式陷阱与死锁避坑实战
linux·单例模式·线程池·线程安全
网硕互联的小客服1 小时前
CentOS 系统升级失败的原因与排查
linux·运维·服务器
斯普信专业组1 小时前
Ceph集群OSD运维手册:基础操作与节点扩缩容实战
运维·ceph
码哝小鱼1 小时前
系统间安全复制和同步文件
linux·服务器·安全
vx153027823622 小时前
‌CDGP|数据治理:探索企业数据有序与安全的解决之道
大数据·运维·网络·cdgp·数据治理
GottdesKrieges2 小时前
OceanBase性能关键参数配置最佳实践
linux·oceanbase