文件同步rsync

综合使用(用于定时任务同步文件)

SERVERS="test2 test4" echo -n "$SERVERS" | parallel -d ' ' --jobs 5 --timeout 60 --joblog /var/log/parallel/parallel.job 'echo {} $(date "+\%Y\%m\%d \%H:\%M:\%S");rsync -Cauvz /root/test_send/123.txt {}:/root/test_recv/' >> /var/log/rsync/rsync.log 2>&1;ERROR=$(awk '{ if (NR > 1 && $7 !=0) {print $10}}' /var/log/parallel/parallel.job | xargs -I {} echo -n _{}) rsync 命令

1.常用参数: -C 或 --checksum:在传输文件之前,计算源文件和目标文件的校验和(checksum),如果它们不相同,则进行传输。这个选项可以确保数据的完整性,但会增加一些计算开销。 -

a 或 --archive:归档模式,等同于 -rlptgoD。它保留了原始文件的权限、时间戳、软硬链接、用户组信息等。

-u 或 --update:仅当源文件比目标文件新或者目标文件不存在时,才进行更新。 -

v 或 --verbose:详细模式,显示更多的信息,包括正在传输的文件列表。

-z 或 --compress:在传输过程中压缩数据,以减少传输的数据量,这在传输大量数据或通过慢速网络连接传输时很有用。

-r 或 --recursive:递归地复制文件。当你需要同步整个目录(包括子目录中的所有文件)时,这个选项非常有用。

-t 或 --perms:保留文件的权限。这个选项会尝试在目标位置复制源文件的权限。 -l 或 --links:保留软链接。如果你在同步时遇到了软链接,这个选项会复制链接本身而不是链接指向的文件。

-v: 写日志必用,方便知道同步成功与否

 

2.常用组合:

rsync -Cauvz (以归档模式传输文件,保留文件属性;仅更新目标位置中不存在或较旧的文件;在传输前后计算校验和以确保数据完整性;显示详细的传输信息;在传输过程中压缩数据)

rsync -rtluv (递归地复制文件和目录;保留软链接;仅更新目标位置中不存在或较旧的文件;显示详细的传输信息)

rsync -ravz

rsync -Cauv

rsync -r

rsync -avz

rsync -auv

 

3.使用:

单个主机:

rsync -Cauvz /root/test_send/123.txt server1:/root/test_recv/ >> /var/log/rsync/rsync.log

多个主机:

for host in server1 server2 ; do rsync -ravz /root/test_send/123.txt ${host}:/root/test_recv/ >> /var/log/rsync/rsync.log ; done

posted @ 2024-10-01 02:35  铿锵有力自信且坚定  阅读(45)  评论(0)    收藏  举报