Come escludere File Cartelle e attivare l'Accesso controllato in Windows Defender
Sommario:
- Prima di iniziare
- Escludere un file specifico
- Escludere una directory specifica
- Escludere più file o directory
- Escludere più file o directory in base a un modello
- Conclusione
Rsync è un'utilità da riga di comando rapida e versatile che sincronizza file e cartelle tra due posizioni su una shell remota.
Con Rsync è possibile eseguire il mirroring dei dati, creare backup incrementali e copiare file tra sistemi. Quando si copiano i dati, è possibile che si desideri escludere uno o più file o directory in base al nome o alla posizione.
In questo tutorial, ti mostreremo come escludere file e directory con rsync.
Prima di iniziare
Dovresti avere una conoscenza di base di come funziona rsync.
Negli esempi seguenti, useremo rsync con l'opzione
-a
, Questo dice a rsync di sincronizzare ricorsivamente le directory, trasferire dispositivi speciali e bloccare e preservare collegamenti simbolici, tempi di modifica, gruppo, proprietà e permessi.
Quando si escludono file o directory, è necessario utilizzare i loro percorsi relativi alla directory di origine.
Esistono due opzioni per specificare i file e le directory che si desidera escludere:
- Da una riga di comando, usando l'opzione
--exclude
Da un file, usando l'opzione--exclude-from
.
Escludere un file specifico
Per escludere un file specifico, passare il percorso relativo al file all'opzione
--exclude
.
Nel seguente esempio il file
src_directory/file.txt
non verrà trasferito:
rsync -a --exclude 'file.txt' src_directory/ dst_directory/
Escludere una directory specifica
Escludere una directory specifica equivale a escludere un file, basta passare il percorso relativo alla directory all'opzione
--exclude
come mostrato di seguito:
rsync -a --exclude 'dir1' src_directory/ dst_directory/
rsync -a --exclude 'dir1/*' src_directory/ dst_directory/
Escludere più file o directory
Per escludere più file o directory è sufficiente specificare più opzioni
--exclude
:
rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/
rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/
Se il numero di file e / o directory che si desidera escludere è elevato, invece di utilizzare più opzioni
--exclude
è possibile specificare i file e le directory che si desidera escludere in un file e passare il file a
--exclude-from
opzione.
Il comando seguente fa esattamente lo stesso di quello sopra:
rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/
escludere-file.txt
Escludere più file o directory in base a un modello
Con rsync puoi anche escludere file e directory in base a un modello che corrisponde al nome del file o della directory.
Ad esempio, per escludere tutti i file
.jpg
dovresti eseguire:
rsync -a --exclude '*.jpg*' src_directory/ dst_directory/
È un po 'più complicato escludere tutti gli altri file e directory tranne quelli che corrispondono a un determinato schema. Supponiamo che tu voglia escludere tutti gli altri file e directory tranne i file che terminano con
.jpg
.
Un'opzione è utilizzare il seguente comando:
rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/
Quando si utilizzano più opzioni include / exclude, si applica la prima regola corrispondente.
-
--include='*.jpg'
- Innanzitutto.jpg
tutti i file.jpg
.--include='*/'
- Quindisrc_directory
tutte le directory all'interno della directory insrc_directory
. Senza questo rsync copierà solo i file*.jpg
nella directory di livello superiore.-m
: rimuove le directory vuote.
Un'altra opzione sarebbe quella di reindirizzare l'output del comando find a rsync:
find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/
-
-printf %P\\0\\n
- rimuoverà lasrc_directory/
dal percorso del file.--files-from=-
- significa includere solo i file dall'input standard (file passati dal comando find).
Conclusione
In questo tutorial, hai imparato come escludere file e directory durante il trasferimento di dati con Rsync. C'è molto altro da sapere su Rsync nella pagina del Manuale dell'utente di Rsync.
Come verificare se esiste un file o una directory in bash
Molte volte durante la scrittura di script Shell, è possibile trovarsi in una situazione in cui è necessario eseguire un'azione in base all'esistenza o meno di un file. In Bash è possibile utilizzare il comando test per verificare l'esistenza di un file e determinare il tipo di file.
Come copiare file e directory in Linux
La copia di file e directory è una delle attività più comuni che eseguirai quando lavori sulla riga di comando. In Linux, ci sono diversi comandi per copiare file con cp e rsync che sono gli strumenti più utilizzati.
Come trasferire file con rsync su ssh
Con rsync è possibile trasferire file e directory su SSH da e verso server remoti. In questo tutorial, spiegheremo come copiare i file con rsync su SSH.