rsync --files-from ou --include-from

5

Eu tentei o comando:

 rsync -v --include-from=/path/to/list.lst /home/user /path/to/backup

list.lst contém, por exemplo,

.gnupg/

.pki/

.gnome2/keyrings/

.mozilla/firefox/*.default/bookmarkbackups/

.mozilla/firefox/*.default/bookmarks.html

.mozilla/firefox/*.default/*.db

.mozilla/firefox/*.default/*.sqlite

e recebo um erro em todas as sequências com:

failed: No such file or directory

Quando uso --files-from para isso, também recebo um erro. Alguém pode me ajudar a usar curingas para isso?

    
por Edward 11.06.2010 / 15:13

5 respostas

3

Você pode optar por incluir filtros e --include-from : Complexo inclui / exclui com rsync

Ou você pode ir com um comando de localização:

cd
rsync -v --files-from <(find gnupg/ .pki/ .gnome2/keyrings/ \
  .mozilla/firefox/*.default/bookmarkbackups/ \
  .mozilla/firefox/*.default/bookmarks.html .mozilla/firefox/*.default/*.db \
  .mozilla/firefox/*.default/*.sqlite) \
 ~ /path/to/backup
    
por 11.06.2010 / 15:37
2

Acho que você pode precisar adicionar a opção --recursive e usar --files-from .

    
por 11.06.2010 / 15:36
1

Acho que o nome do arquivo em list.lst deve começar com + ou - , como:

- *.o
- foo/
+ *.exe
+ 123/456/*
    
por 01.12.2011 / 07:17
1

Uma possível solução é descrita na seguinte página da web. Parece que a linha de erro é enganosa. Verifique o erro de "código" que vem por último.

link

link

Eu tenho um problema parecido com "(código 23)", mas ainda não sei por que ou como corrigi-lo. Se eu colocar os arquivos para transferir (foo * .xml) na linha de comando em vez de no arquivo --files-from , ele funciona. Eu estou começando a pensar que --files-from não gosta de padrões com asteriscos, pontos de interrogação, etc. Talvez eu precise usar --include-from , o problema é que eu achei --include-from confuso para incluir e excluir arquivos.

0 Success 1 Syntax or usage error 2 Protocol incompatibility 3 Errors selecting input/output files, dirs 4 Requested action not supported: an attempt was made to manipulate 64-bit files on a platform that cannot support them; or an option was specified that is supported by the client and not by the server. 5 Error starting client-server protocol 6 Daemon unable to append to log-file 10 Error in socket I/O 11 Error in file I/O 12 Error in rsync protocol data stream 13 Errors with program diagnostics 14 Error in IPC code 20 Received SIGUSR1 or SIGINT 21 Some error returned by waitpid() 22 Error allocating core memory buffers 23 Partial transfer due to error 24 Partial transfer due to vanished source files 25 The --max-delete limit stopped deletions 30 Timeout in data send/receive 35 Timeout waiting for daemon connection

    
por 08.12.2014 / 21:52
0

Certifique-se de que as linhas no /path/to/list.lst não possuam espaços em branco no final da linha. Eu não sei porque rsync é tão sensível a isso.

    
por 09.12.2014 / 16:22

Tags