Per this question+answer, è possibile creare uno script come pipe. I pipe sono parte integrante della programmazione della shell e dello scripting della shell.
find /path/to/files -type l -print | \
rsync -av --files-from=- /path/to/files [email protected]:/path
Cosa sta succedendo qui?
Il comando find
inizia da/percorso/a/file e passa in modo ricorsivo attraverso tutto "sotto" quel punto. Le opzioni per find
sono condizioni che limitano ciò che viene generato dall'opzione -print
. In questo caso, solo le cose di -type l
(collegamento simbolico, secondo man find
) verranno stampate per trovare "output standard".
Questi file diventano "input standard" dell'opzione --file-from
del comando rsync
.
Provatelo. Non ho effettivamente provato , ma mi sembra che dovrebbe funzionare.
grazie darò una prova .... – Newbiee
Questo non copierà i link simbolici come link simbolici, però. – Dan
@Dan ... Bene, '-a' si traduce in' -rlptgoD', e '-l' è documentato in," quando si incontrano i collegamenti simbolici, ricrea il link simbolico sulla destinazione. " Quali risultati hai incontrato? – ghoti