Copiere flexibila si fiabila in FreeBSD

AdrianB1

Membru Senior
Sugar daddy
Background:
- am 2 NAS-uri cu FreeBSD (FreeNAS); vreo 4 TB de date pe unul, celalalt gol, vreau sa copiez de pe unul pe altul
- sunt vreo 7 datasets care sunt si shares in CIFS; copierea e 1 la 1
- am nevoie de flexibilitate: sa intrerup daca e nevoie, sa compar foldere si subfoldere (daca am intrerupt sa pot sa continui), chestii care se fac extrem de lejer in Total Commander
- am incercat sa copiez cu TC prin intermediul desktop-ului meu, dar apar probleme: cam 1 CPU complet ocupat doar cu asta (kernel times, nu altceva), performanta slaba, din cand in cand "write error, please remove write protection" care opreste tot (cate o noapte) si continua la un simplu "retry"; tot copiez de duminica si mai mult am parte de pauze
- sunt tufa in materie de FreeBSD si as prefera un GUI cu butoane, desi nu tusesc la un command prompt.

Care e cea mai buna metoda de a face copierea in conditii de siguranta? Ma intereseaza in primul rand sa am siguranta ca am copiat tot si fisierele sunt intregi, apoi flexibilitatea si apoi performanta, dar mai degraba ca eliberare a computerului meu decat altceva. Pe vremuri pentru copieri Windows-Linux foloseam FastSCP, dar habar nu am daca se poate si cu FreeBSD si mai ales cum s-ar configura pentru asta. Robocopy mai era folosit pentru chestii similare, destul de fiabil dar nu prea flexibil insa poate exista si metode care sa nu implice CIFS si un al treilea computer la mijloc.
 
rsync e primul ce-mi vine în minte. Eu îl folosesc cu opţiunile -avz --progress --stats. Are şi opţiune de logging care toarnă într-un fişier tot ce face, fişier ce poate fi inspectat ulterior.
 
Da, din ce am gasit si eu cu Google rsync e o idee buna, dar nu e tocmai GUI si nu am idee cum il folosesc: pe computerul sursa, de pilda, cum ii indic destinatia? Daca o dau ca share de CIFS mi-e ca merge mai lent decat e cazul si nici prea fiabil nu cred ca este.
 
Code:
rsync -avz --progress --stats --log-file=/home/adrian/transfer.log /path/to/source_folder user@computer_destinatie:/path/to/destination/folder
Pe computer_destinatie e nevoie de server de ssh.

Când specifici calea spre folderul sursă, omiterea slash-ului de la final (cum am făcut eu) implică crearea directorului source_folder în folder-ul destinaţie (deci o să ai la destinaţie /path/to/destination/folder/source_folder). Dacă închei calea sursă cu slash (/path/to/source_folder/), pe destinaţie vei avea /path/to/destination/folder/<continutul_source_folder>.

Dacă ssh (i.e. criptare) e prea mult pentru procesoarele tale, merge şi varianta ftp. lftp are opţiune de mirror şi face cam acelaşi lucru ca şi rsync, dar fără criptare. Necesită, în schimb, server de ftp la destinaţie.
 
Back
Top