eu folosesc rsync
pentru copii de rezervă incrementale, folosind --link-dest
opțiunea de a indica copia de rezervă anterioară, astfel încât fișierele neschimbate să fie greu legate de acolo.
Funcționează, dar nu pentru toate fișierele. De exemplu, am un director în backup care conține fișiere care nu au fost modificate de peste trei ani. Dar dintr-un motiv bizar, doar unele dintre ele sunt legături dure.
În mod incomod, fișierele mai mari sunt toate copii (adică există un singur link către fișier, verificat prin ls -l
). Dar acesta este și cazul unor fișiere mai mici și, într-adevăr, unele fișiere hard linkate sunt mai mari decât unele fișiere copiate.
Nu pare să existe niciun model care să-mi permită să prezic care vor fi copii și ce link-uri hard. Lungimea numelui și dimensiunea fișierului par irelevante, la fel ca și data modificării: există o combinație de toate acestea atât în listele copiate, cât și în cele legate de hard link. Acestea fiind spuse, fișierele o fac pare să fie consecvent în mai multe backup-uri, așa că ceea ce s-a întâmplat pentru o copie de rezervă pare să se fi întâmplat și pentru următoarea copie de rezervă.
Există un atribut (tehnic sau de altă natură) al unui fișier, o caracteristică care ar cauza rsync
să-l copiezi mai degrabă decât să-l conectezi?
EDITARE 1: Menționarea „atributului” m-a făcut să mă întreb dacă există vreun atribut care ls -l
nu listează care ar putea avea un impact, dar face lsattr
în directorul sursă arată că toate fișierele au atribute identice.
EDITARE 2: Am spus anterior (acum șters) că permisiunile sunt toate aceleași, dar asta a fost greșit. Permisiunile au fost aceleași în directorul de destinație (cu copii de rezervă). eu folosesc --perme
(pentru a păstra permisiunile), așa că nu știu de ce permisiunile nu sunt păstrate. De asemenea, anterior rulam ca utilizator non-root, dar acum încerc ca root în cazul în care asta face o diferență, dar permisiunile încă nu sunt păstrate, ceea ce poate fi motivul pentru care unele fișiere arată ca și cum s-au schimbat - fișierul nu a fost Nu, dar permisiunile sale aparent au (cel puțin, în comparație cu backup-ul anterioară cu permisiunile sale incorecte).
EDITARE 3: Acum cred că are ceva de-a face cu serverul meu CIFS. E ceva în mount.cif
pagina de manual despre modul_fișier
opțiunea: „Dacă serverul nu acceptă extensiile CIFS Unix, aceasta înlocuiește modul implicit de fișier.” Când alerg montură
comandă fără argumente pentru a enumera monturile, opțiunile enumerate includ file_mode=0755
și dir_mode=0755
care se leagă de ceea ce văd. Nu pot chmod
un fișier pe montură, deci acele fișiere care nu aveau inițial 0755
se consideră că permisiunile s-au schimbat și, prin urmare, sunt copiate din nou - și, din nou, obțineți permisiunile greșite în copie de rezervă din cauza monturii.