gera / faz backup automaticamente de uma lista de arquivos (mas não faz backup dos arquivos reais)?

3

Qual seria a maneira melhor / mais fácil para um não técnico como eu fazer com que o meu servidor de mídia Ubuntu gerasse um arquivo contendo uma lista de arquivos X-levels profundos de uma pasta específica e de volta a lista sem realmente fazer backup os arquivos em si? Idealmente (mas não é obrigatório), seria uma página HTML bem formatada ... mas apenas se houver alguma ferramenta existente que faça esse tipo de coisa. Não estou esperando que o respondente escreva códigos extensivos para mim.

Eu tenho o Crashplan instalado, mas não quero usar terabytes de largura de banda em movimento de arquivos não críticos para a nuvem. Mas no caso raro de algo acontecer, eu quero pelo menos ver uma lista do que estava lá para que eu possa ver o que foi perdido e eu posso escolher o que substituir.

Espero que a resposta esteja completa, já que não sou de modo algum um guru de linha de comando ... e precisa ser linha de comando porque é sem cabeça.

    
por bcsteeve 26.09.2016 / 00:53

2 respostas

6

Você pode usar tree . Pode não estar pré-instalado, então use-o usando

sudo apt-get install tree

Então você pode obter uma lista de seus arquivos e sua estrutura de diretórios simplesmente executando

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

Você redireciona a saída para um arquivo como este:

tree test/ > directory-list.txt

Você pode limitar a profundidade de recursão usando a opção -L , por exemplo, tree -L 3 test/ .

Se você quiser uma página HTML sofisticada com links de FTP para cada arquivo, tree tem isso incorporado!

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

Você precisa especificar um link base que controlará para onde todos os hiperlinks de arquivo apontam, conforme descrito na página de manual ( 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.

O arquivo resultante aberto em um navegador da web tem esta aparência:

    
por Byte Commander 26.09.2016 / 01:19
3

find é seu amigo aqui.

Supondo que você deseja fazer backup de todos os nomes de arquivos, com até 4 níveis de profundidade, a partir do diretório /foo/bar , em um arquivo backup_filenames.txt :

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

Para considerar apenas nomes de arquivos de uma determinada extensão, por exemplo .txt , use -name :

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

Caso insensível ( -iname ):

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

Modifique os parâmetros para atender sua necessidade. Verifique também man find .

    
por heemayl 26.09.2016 / 01:00