автоматически генерируйте/копируйте список файлов (но не копируют фактические файлы)?

Каков был бы лучший/самый легкий путь к нетехнику как я, чтобы заставить мой бездисплейный медиасервер Ubuntu генерировать файл, содержащий список X-уровней файлов, глубоких из определенной папки и создавать резервную копию того списка, на самом деле не создавая резервную копию самих файлов? Идеально (но ни в коем случае не требуемый) это была бы приятно отформатированная страница HTML..., но только если существует некоторый существующий инструмент, который делает такую вещь. Я не ожидаю, что отвечающая сторона напишет обширный код для меня.

Мне установили Crashplan, но я не хочу использовать пропускную способность движущиеся терабайты некритических файлов к Облаку. Но в редком случае что-то происходит, я хочу, по крайней мере, видеть список того, что было там, таким образом, я вижу то, что было потеряно, и я могу привередничать, что заменить.

Я надеюсь, что ответ завершен, поскольку я ни в коем случае не гуру командной строки..., и это действительно должна быть командная строка, потому что это является бездисплейным.

3
задан 26 September 2016 в 01:53

2 ответа

Вы можете использовать tree. Возможно, он не был предварительно установлен, поэтому получите его, используя

sudo apt-get install tree

. Затем вы можете получить список ваших файлов и их структуру каталогов, просто запустив

$ tree test/
test/
├── dir1
│   ├── file1
│   ├── file2
│   └── file3
├── dir2
│   ├── file1
│   ├── file2
│   └── file3
└── dir3
    ├── file1
    ├── file2
    └── file3

. Вы перенаправите вывод в Файл, подобный этому:

tree test/ > directory-list.txt

Вы можете ограничить глубину рекурсии, используя опцию -L, например tree -L 3 test/.

Если вы хотите создать красивую HTML-страницу с FTP-ссылками на каждый файл, у tree есть встроенная!

tree -H /ftp-root test/ > directory-list.html

Вам нужно указать базовую ссылку, которая будет контролировать, где все гиперссылки файла указать, как описано в man-странице (man tree):

   -H baseHREF
          Turn  on  HTML output, including HTTP references. Useful for ftp
          sites.  baseHREF gives the base ftp  location  when  using  HTML
          output.  That  is,  the local directory may be `/local/ftp/pub',
          but  it  must   be   referenced   as   `ftp://hostname.organiza‐
          tion.domain/pub'  (baseHREF  should be `ftp://hostname.organiza‐
          tion.domain'). Hint: don't use ANSI lines with this option,  and
          don't give more than one directory in the directory list. If you
          wish to use colors via CCS style-sheet, use  the  -C  option  in
          addition to this option to force color output.

Полученный файл, открытый в веб-браузере, выглядит следующим образом:

enter image description here [ 1110]

6
ответ дан 1 December 2019 в 13:12

find Ваш друг здесь.

Принятие Вас хотят скопировать все имена файлов, до 4 уровней глубоко, запускающийся от /foo/bar каталог, в файл backup_filenames.txt:

find /foo/bar -maxdepth 4 -type f >backup_filename.txt

Для рассмотрения только имен файлов определенного расширения, например, .txt используйте -name:

find /foo/bar -maxdepth 4 -type f -name '*.txt' >backup_filename.txt

Нечувствительно к регистру (-iname):

find /foo/bar -maxdepth 4 -type f -iname '*.txt' >backup_filename.txt

Изменяют параметры для удовлетворения потребностей. Также проверьте man find.

3
ответ дан 1 December 2019 в 13:12

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

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