zoukankan      html  css  js  c++  java
  • Fastdfs文件系统删除重复的文件

    环境:centos、fastdfs

    Fastdfs文件系统删除重复的文件

    问题:fastdfs文件系统磁盘空间疯狂扩展。

    原因:fastdfs产生了很多的文件备份,要找到重复文件,排除在使用的文件删除其他的文件。

    根源可能是程序反复上传原因,开发进行跟中

    删除不需要文件思路:

    1、查看文件重复情况

    2、列出所有文件系统文件,和从数据库找到所有在用的文件名称

    3、处理fastdfs导出的所有的文件路径名称 和 数据库导出名称格式一样

    4、比对fastdfs和数据库的名称,找出没有在数据库中的文件名称

    5、根据比对结果找到fastdfs的文件路径,进行删除

    1、找到所有文件,并通过md5查看重复情况

    find /data/fdfs_storage/data -type f -name “*.jpg” > /tmp/all.txt   #找出所有文件
    for i in `cat /tmp/all.txt`;do md5sum $i >> /tmp/all_md5.txt;done    #查出文件的md5值
    uniq -c /tmp/all_md5.txt|sort -n -r                                 #去重查看重复文件数

    2、fastdfs 文件名称/tmp/all.txt ,数据库文件名称 /tmp/sjk.txt

    cat /tmp/all.txt|awk -F / ‘{print $7}’ >> /tmp/all_fastdfs.txt               #处理fastdfs文件和数据库文件一样
    sort /tmp/all_fastdfs.txt >> /tmp/all_fastdfs_new.txt                        #对fastdfs文件进行排序
    sort /tmp/sjk.txt >> /tmp/sjk_new.txt                                        #对数据库文件进行排序
    comm /tmp/all_fastdfs_new.txt /tmp/sjk_new.txt -2 -3 >> /tmp/fastdfs-sjk.txt #fastdfs文件排除数据库的文件,这些文件是要删除的文件

    3、找出这些文件并删除

    for i in `/tmp/fastdfs-sjk.txt`;do grep $i  /tmp/all.txt > /tmp/delete-fasts.txt;done #找出文件路径
    for i in ` /tmp/delete-fasts.txt`;do rm -rvf $i;done                                  #删除文件

    4、常用命令

    uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fields ] [ +Characters ] [ InFile [ OutFile ] ]
       -c 在输出行前面加上每行在输入文件中出现的次数。
      -d 仅显示重复行。
      -f  忽略由 Fields 变量指定的字段数目。如果 Fields 变量的值超过输入行中的字段数目, uniq 命令用空字符串进行比较。这个标志和 -Fields 标志是等价的。
      -u 仅显示不重复的行。
    例子:查询一个文件重复最多的前10条记录:
    
       uniq -c file | sort -n -r |head -10
    
    comm命令语法:comm [-123] [--help][--version][file1][file2]
    
    comm命令参数:
      -1   不显示只在第1个文件里出现过的列。
      -2   不显示只在第2个文件里出现过的列。
      -3   不显示只在第1和第2个文件里出现过的列。
    
    FastDFS常见命令
     
    1: 启动FastDFS
              tracker: /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
              storage: /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
    2:关闭FastDFS
              tracker:/usr/local/bin/stop.sh /usr/local/bin/fdfs_tracker
              storage:/usr/local/bin/stop.sh /usr/local/bin/fdfs_storage
            或者 killall fdfs_trackered(storaged)  -------注意,千万不要使用-9强行杀死进程。
    3:重启FastDFS
              tracker:/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackered
              storage:/usr/local/bin/restart.sh /usr/local/bin/fdfs_storaged
    4:查看集群情况
              在任意一台storage(tracker也可以) /usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf
    5:删除一个storage:
               在任意一台storage(tracker也可以) /usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf delete group2 20.12.1.73
    6:上传文件
              /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/02.jpg
    7:删除上传的文件
             /usr/local/bin/fdfs_delete_file   配置文件   需要删除的文件路径
            /usr/local/bin/fdfs_delete_file  /etc/fdfs/client.conf  group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak.tar.gz
    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    Java核心技术 卷一 笔记四 库类的直接使用
    Java核心技术 卷一 笔记三 大数值及数组
    Java核心技术 卷一 笔记2 字符串的复制
    Java核心技术 卷一 笔记1
    修改css 样式后, hover事件 不生效
    修改 element ui input 输入框 样式不生效问题
    css3 计算属性
    Vue3 改动系列
    浏览器实现,向下滑动 鼠标滚轮,页面横向移动
    linux ceont0s7 vue 打包压缩图片 一直报错
  • 原文地址:https://www.cnblogs.com/wukc/p/13441392.html
Copyright © 2011-2022 走看看