Încerc să fac backup pentru unele fișiere pe o altă unitate folosind rsync.
Ca caz de testare, încerc următoarea comandă:
rsync -Rav --delete --stats /home/my_user/bin* „$dest”
Această comandă va copia fișierele și directoarele (cu conținutul lor) prezente în my $HOME director și având nume ca ~/bin, ~/binb, ~/bin1, ~/bin2, etc până la destinație.
Cu toate acestea, când șterg oricare dintre fișierele sau directoarele numite ~/bin1 sau ~/bin2 de exemplu, acestea nu sunt șterse nici în destinație. Singurul lucru care funcționează este atunci când există un fișier într-un director, spunem ~/bin2/file1 și acest fișier este șters, apoi acest fișier este șters și în destinație (dar nu în cazul în care directorul ~/bin2/ este eliminat cu totul).
Evident, această problemă este creată de extinderea shell-ului /home/my_user/bin* la toate numele de fișiere și directoare începând cu cos in al meu $HOME directorul la momentul în care rsync comanda este executată. Deci, am încercat să citez sursa ca „/home/my_user/bin*”, dar în acest caz primesc eroarea:
rsync: [sender] link_stat „/home/my_user/bin*” a eșuat: nu există un astfel de fișier sau director (2)
Ce opțiuni sunt necesare, deci, pot folosi wildcard-uri pentru sursă(e) și voi avea replica exactă a fișierului sursă și a structurii directorului, tot în destinație?
Notă: rsync versiunea 3.2.3 protocol versiunea 31