pyhton 脚本统计Linux文件夹下文件大小,带筛选条件

近日在做文件推送的过程中遇到这样的一个场景,由执行机推送制品到虚拟机部署项目,但是为了检查推送是否完成,比如文件丢失,推送失败等等

基于以上场景,想到的解决方案就是推送完成后对比一下源目录和目标目录得文件大小,基本就能就完成校验,具体得命令如下:

 check_cmd = "find {} -type f ! -name '*.git' ! -path '*/.git/*' | xargs du -sh -b | ".format(source_path)
    source_size = exec_local_cmd(check_cmd + "awk '{sum1+= $1}END{print sum1}'")
    check_cmd = "find {} -type f ! -name '*.git' ! -path '*/.git/*' | xargs du -sh -b | ".format(target_path)
    target_size = exec_remote_cmd_back_stdout(target_ip, check_cmd + "awk '{sum1+= $1}END{print sum1}'")
    source_size = bytes.decode(source_size.stdout).replace('\n', '')

完整的命令应该是酱紫:

find /data/app/info -type f ! -name '*.git' ! -path '*/.git/*' | xargs du -sh -b | awk '{sum1+= $1}END{print sum1}'

du命令本身是有一个问题 就是会重复统计文件夹 这样统计到的大小是会比实际得大

以上简单记录,希望能给遇到类似问题的同学一个思路 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值