ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rsync 两例脚本备用

rsync 两例脚本备用

原创 Linux操作系统 作者:starry3039 时间:2024-06-28 14:03:02 0 删除 编辑

rsync 同步保证源数据

cat root/rsync.sh

#!/bin/bash


log_dir="/root/rsync_log"

src_dir="/root/face"

dst_dir="/root/archive"


if [ ! -d ${log_dir} ];then

  mkdir -p ${log_dir}

fi


for subdirname in 202009 202010 202011

do

  rsync -avI --progress  ${src_dir}/${subdirname}/ ${dst_dir}/${subdirname}/ > ${log_dir}/doc_${subdirname}.log 2>&1

  这里 -avI   会保留src目录所有权限,并输出明细,--progress 会有进度100%显示,所以生成的/root/rsync_log会比较大,

一般2T左右(100w个大小子目录)的拷贝约100-300M.  -I 参数这里是覆盖,没有就不覆盖(保证src目录的目录文件都有)

  mv ${src_dir}/${subdirname} ${src_dir}/${subdirname}_delete      $subdirname会留有空目录,最好用rmdir删除

done


rsync 删除大量子目录小文件

cat root/del_09_10_11.sh

#!/bin/bash


log_dir="/root/rsync_log"

src_dir="/doc/archive"


if [ ! -d ${log_dir} ];then

  mkdir -p ${log_dir}

fi


for subdirname in 202009_delete 202010_delete 202011_delete

do

  rsync --delete-before -a --stats /root/test/ ${src_dir}/${subdirname}/  > ${log_dir}/doc_${subdirname}.log 2>&1

done

附:rsync --stats 参数会生成的日志如下,如果不想像上一个脚本的日志太大,可以用这个参数


Number of files: 1 (dir: 1)

Number of created files: 0

Number of deleted files: 24,019 (reg: 18,805, dir: 5,214)

Number of regular files transferred: 0

Total file size: 0 bytes

Total transferred file size: 0 bytes

Literal data: 0 bytes

Matched data: 0 bytes

File list size: 0

File list generation time: 0.001 seconds

File list transfer time: 0.000 seconds

Total bytes sent: 43

Total bytes received: 915,118


sent 43 bytes  received 915,118 bytes  2,430.71 bytes/sec

total size is 0  speedup is 0.00



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70039334/viewspace-3020531/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2024-06-27

  • 博文量
    3
  • 访问量
    1237