rsync --delete
@sudodus, așa că pentru a utiliza --delete trebuie să șterg fișierele originale din directorul original?
da, dar, aș spune că intenția este inversă: vă va ajuta să ștergeți un fișier din țintă, atunci când ați șters fișierul corespunzător din sursă.
Dacă doriți să evitați copierea unor fișiere (dar să le păstrați în sursă), puteți utiliza --exclude
.
rsync
nu este un instrument general de ștergere. Este un instrument de copiere pentru a copia/actualiza un arbore de director țintă cu fișiere noi sau actualizate în arborele de director sursă corespunzător. The --șterge
opțiunea este „doar” pentru a sincroniza, adică pentru a șterge un fișier din țintă, dacă fișierul corespunzător din sursă a fost șters.
Consultați descrierea detaliată în manual om rsync
--delete șterge fișierele străine din dest dirs
--delete-before receptorul șterge înainte de xfer, nu în timpul
--delete-during receptorul se șterge în timpul transferului
--delete-delay găsi ștergeri în timpul, șterge după
--delete-after receptorul șterge după transfer, nu în timpul
--delete-excluded șterge și fișierele excluse din dest dirs
--ignore-missing-args ignoră argumentele sursă lipsă fără eroare
--delete-missing-args șterge argumentele sursă lipsă de la destinație
--șterge
Aceasta îi spune lui rsync să șteargă fișierele străine de la recepție
partea (cele care nu sunt de partea expeditoare), ci numai pentru
directoarele care sunt sincronizate. Trebuie să fi întrebat
rsync pentru a trimite întregul director (de exemplu, „dir” sau „dir/”) fără
folosind un wildcard pentru conținutul directorului (de exemplu, „dir/*”)
deoarece wildcard-ul este extins de shell și rsync devine astfel
o solicitare de a transfera fișiere individuale, nu fișierele – părinte
director. Fișierele care sunt excluse de la transfer sunt de asemenea
exclus de la ștergere, cu excepția cazului în care utilizați --delete-excluded
opțiunea sau marcați regulile ca fiind potrivite doar pe partea de trimitere
(vezi modificatorii de includere/excludere din secțiunea REGULI DE FILTRARE).
Înainte de rsync 2.6.7, această opțiune nu ar avea efect decât dacă
--recursive a fost activat. Începând cu 2.6.7, ștergerile vor
apar și când --dirs (-d) este activat, dar numai pentru directoare
al cărui conținut este copiat.
Această opțiune poate fi periculoasă dacă este folosită incorect! Este foarte
idee bună să încercați mai întâi o rulare folosind opțiunea --dry-run (-n) pentru
vezi ce fișiere vor fi șterse.
Dacă partea expeditoare detectează erori I/O, atunci ștergerea
orice fișiere de la destinație vor fi dezactivate automat.
Acest lucru este pentru a preveni erorile temporare ale sistemului de fișiere (cum ar fi NFS
erori) din partea expeditorului de a provoca o ștergere masivă a
fișiere la destinație. Puteți trece peste acest lucru cu
Opțiunea --ignore-errors.
Opțiunea --delete poate fi combinată cu una dintre
--delete-WHEN opțiuni fără conflict, precum și
--delete-exclus. Cu toate acestea, dacă nici unul dintre --delete-WHEN
sunt specificate opțiunile, rsync va alege --delete-during
algoritmul atunci când vorbiți cu rsync 3.0.0 sau mai nou și
--delete-before algoritm când vorbiți cu un rsync mai vechi. Vedea
de asemenea --delete-delay și --delete-after.
rm
„eliminare” este instrumentul standard Linux pentru a șterge alias, șterge un fișier
Corespunzător capturii de ecran, puteți încerca
rm /tmp/backup/foto3.txt
sau cu un punct de control, pentru a confirma,
rm -i /tmp/backup/foto3.txt