Как я создаю кумулятивный каталог?

Видео и песни в моем компьютере рассеиваются через 8 дисков и i-dont-know количество каталогов. Как я создаю каталог в/home/user, который автоматически обновляет ярлыки видео на моем компьютере?

0
задан 11 November 2014 в 05:10

2 ответа

Можно периодически выполнять сценарий "поддержания" ниже для обновления папки со ссылками (например, заданием крона или в "Приложениях Запуска", посмотрите ниже).

, Что сценарий делает

, сценарий перечисляет все видеофайлы (следовательно) максимум из 10 различных каталогов (или диски) и проверяет, существует ли столь же именованная ссылка в Вашей папке "библиотеки". Если это не делает, это создает ссылку.

, Хотя Вы просите у него видеофайлы, этот путь, можно сохранить "папку библиотеки" любого вида документов определенного типа файла.

Это работает довольно быстро: для обновления от почти полного диска 750 ГБ (замедляются / внешний) мне потребовались всего 4 секунды, таким образом, это не будет большая нагрузка для системы.

, Как использовать

  • Копия сценарий ниже в пустой файл и сохранить его как update_links.py.
  • При необходимости, установленный в голове разделяют расширения файла, из которых требуется создать ссылки. Я уже установил его на:

    extensions = (".flv", ".mp4", ".mp3", ".mkv")
    

    как Вы упомянутый в комментарии.

    Также устанавливает путь к Вашей папке со ссылками на видео:

    library = "/path/to/your/library_folder"
    
  • сценарий берет до 10 каталогов в качестве аргументов. Для выполнения его используйте команду:

    python3 <script> <directory_1> <directory_2> <directory_3> <directory_4>
    

можно добавить команду к приложениям запуска: (Тире> "Приложения Запуска"> "Добавляет"), или выполните его заданием крона.

сценарий

#!/usr/bin/env python3

import os
import sys
import subprocess

library = "/path/to/your/library_folder"
extensions = (".flv", ".mp4", ".mp3", ".mkv")

def create_links(directory):
    for root, dirs, files in os.walk(directory):
        for name in files:
            if (name.startswith("."), name.count(".") == 0) == (False, False):
                extension = name[name.rfind("."):]
                if (extension in extensions, os.path.isfile(library+"/"+name)) == (True, False):
                    command = 'ln -s "'+root+"/"+name+'" "'+library+"/"+name+'"'
                    subprocess.Popen(["/bin/bash", "-c", command])
                else:
                    pass
            else:
                pass

i = 1
while i <= 10:
    try:
        dr = (sys.argv[i])
        create_links(dr)
        i = i+1
    except IndexError:
        break
1
ответ дан 4 August 2019 в 19:58

Рассмотрите использование , объединение монтируется , с помощью aufs . Первая установка aufs-tools:

sudo apt-get install aufs-tools

Добавляют запись в /etc/fstab как так, заменяя пути соответствующими значениями:

none /home/user/Videos aufs br=/home/user/Videos:/media/drive1/Movies:/media/drive2/OtherStuff 0 0

Тогда сделайте:

sudo mount /home/user/Videos

~/Videos должен теперь показать содержание всех других каталогов также.

0
ответ дан 4 August 2019 в 19:58

Другие вопросы по тегам:

Похожие вопросы: