群晖批量删除PhotoStation缩略图

Linux, 折腾 2020/07/13

群晖下我最常用的就是Photo Station套件,不管是网页端还是手机端,都能有绝佳的浏览体验,非常流畅。

因为Photo Station会对每张照片和视频,都生成对应的缩略图和低码率的视频。

群晖将这些缩略图文件存放在照片所在路径的 @eaDir 同级目录中(File Station看不到此文件夹)

如果像我一样,照片都是根据文件夹来分类的,就会产生很多@eaDir缩略图文件夹

并且每张图片都会生成不同大小的缩略图(考虑的真是周到 :二哈:

照片:

SYNOPHOTO_THUMB_M.jpg、SYNOPHOTO_THUMB_XL.jpg

视频:

SYNOPHOTO_FILM_M.mp4、SYNOPHOTO_FILM_H264.mp4

如果生成缩略图失败,还会产生:

SYNOPHOTO_THUMB_M.fail、SYNOPHOTO_THUMB_XL.fail 这样的文件

今天就遇到一个问题:

当我准备备份NAS里的所有照片,但又不想备份这些缩略图怎么办?

脚本

我对Shell不是很熟悉,想到群晖自带Python 2.7,于是就动手写个python脚本来实现批量删除子目录下的@eaDir文件夹

https://file.bugxia.com/s/rKHHGqGEBdmfaHR

下载脚本,root登录群晖,丢到任意目录下,给予脚本执行权限

修改脚本里Photo Station的目录,比如我的是 /volume2/photo

保存脚本,然后执行

python del_all_thumb.py

默认注释了删除命令,仅输出包含缩略图目录的路径,如需删除,请手动删除第24行的注释符

本文标签:


3条评论

  • 兰先生 评论于 回复

    大神,您好

    看到您的骚操作,我有个想法,群晖不仅会产生缩略图,还会产生很多thumbs.db
    那应该也可以通过python去批量删除thumbs.db,我做了以下动作(把您的del_all_thumb.py复制一份变成txt,把路径改一下,把@eaDir改成thumbs.db,然后把txt改成py),通过命令去尝试不成功,请教

    我用python打开您的del_all_thumb.py文件,root登陆DSM的putty后台,在路径下输入:python del_all_thumb.py

    提示:
    File “del_all_thumb.py”, line 23
    print content
    ^
    TabError: inconsistent use of tabs and spaces in indentation

    希望您可以帮忙答复一下,谢谢

    • Bug侠 评论于 回复

      @兰先生
      不好意思,我代码里的缩进有问题。已经修改了,你重新下载试试
      ———-
      Pyhton对代码缩进要求严格,比如提示的23行 print 前面我之前用的是空格,但整段代码都是制表符(Tab键),所以缩进不一致导致的

      • 兰先生 评论于 回复

        @Bug侠
        您好,Bug侠,通过你上次的指点,命令得以运行了,但是没有结果和效果出来

        # -*- coding: utf-8 -*-
        import os

        all_dirs = []
        def show_files(path):
        file_list = os.listdir(path)
        for file in file_list:
        cur_path = os.path.join(path, file)
        if os.path.isdir(cur_path):
        all_dirs.append(cur_path)
        if “Thumbs.db” in cur_path:
        continue
        else:
        show_files(cur_path)
        else:
        continue
        return all_dirs

        PhotoPath = “/volume1/工作相关”
        contents = show_files(PhotoPath)
        for content in contents:
        if “Thumbs.db” in content:
        print (content)
        os.system(‘rm -rf “‘+content+'”‘)

        root@LJY:/volume1/工作相关# python del_thumb.py
        root@LJY:/volume1/工作相关# python del_thumb.py
        root@LJY:/volume1/工作相关# python del_thumb.py
        root@LJY:/volume1/工作相关# python del_thumb.py
        root@LJY:/volume1/工作相关# python del_thumb.py
        root@LJY:/volume1/工作相关# python del_thumb.py
        root@LJY:/volume1/工作相关#
        目前运行完成后没有输出结果,好多文件夹下面都有Thumbs.db临时文件,也没有被删除
        是因为@eaDir是文件夹?Thumbs.db是文件的问题吗?

    评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)关闭回复