Ali vas kdaj skrbi, da bi izgubili svoje podatke, ali ste se naveličali izvajanja ročnega varnostnega kopiranja vsak dan ali tedensko? Uporabi rsync
ukaz in samodejno sinhronizirajte vaše lokalne datoteke z oddaljenim strežnikom tako pogosto, kot želite, brez ročnega posredovanja. Upoštevajte, da ta priročnik zahteva dostop do oddaljenega strežnika Linux (npr. AWS) in je napisan pod Ubuntu 20.04, čeprav bi vsaka distribucija Linuxa morala delovati dobro.
Namestite rsync
Pred karkoli preverite ali ne rsync
je nameščen. Na vašem lokalnem računalniku in spletnem strežniku zaženite ta ukaz:
rsync --različica
Če v zameno dobite trenutno različico rsync, ste pripravljeni za naslednji razdelek. V nasprotnem primeru, če prejmete a ukaz ni najden napaka, lahko namestite rsync
s tem ukazom:
sudo apt-get -y namestite rsync
Ustvari ključ SSH
Uporabili bomo a SSH ključ za preverjanje pristnosti povezave med našim lokalnim računalnikom in oddaljenim strežnikom. Če želite ustvariti nov ključ SSH na vašem lokalnem računalniku v terminalu, zaženite ukaz:
Potrebujete oddaljeni dostop do računalnika ali strežnika Linux? Tukaj je opisano, kako nastaviti in konfigurirati SSH v Linuxu, Windows in mobilnih napravah.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key
Ko vas pozovete za geslo, pustite prazno in dvakrat pritisnite tipko Enter. To bo ustvarilo dve novi datoteki v vašem ~/.ssh/
imenik rsync.key
ki je zasebni ključ in rsync.key.pub
, javni ključ.
Nastavitev oddaljenega strežnika
Čeprav ni potrebno, bomo za ta vodnik ustvarili a nov uporabnik na oddaljenem strežniku za povezave rsync in shranjevanje vseh datotek varnostnih kopij. Prijavite se v oddaljeni strežnik prek SSH in zaženite ta ukaz:
sudo useradd -m rsync
Zgornji primer uporablja uporabniško ime rsync, lahko pa ga spremenite v karkoli želite. The -m
možnost preprosto pove Linuxu, naj ustvari domači imenik za našega novega uporabnika.
Če želite vašemu lokalnemu računalniku omogočiti preverjanje pristnosti, je treba javni ključ SSH, ki je bil ustvarjen v prejšnjem razdelku, kopirati na oddaljeni strežnik. Odprite /~.ssh/rsync.key.pub
datoteko v a urejevalnik besedil in videli boste eno veliko črto, ki izgleda nekako tako.
ssh-rsa uporabnik@gostitelj
Ta dolga vrstica je javni ključ SSH. Kopirajte ga v odložišče in znotraj oddaljenega strežnika zaženite te ukaze:
sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... uporabnik@gostitelj" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys
V zadnjem zadnjem ukazu zamenjajte besedilo med narekovaji s to dolgo javno vrstico ključa SSH. To je to, vaš lokalni računalnik se bo zdaj lahko preverjal pristnost z vašim oddaljenim strežnikom.
Konfigurirajte konfiguracijsko datoteko ssh
Zaradi poenostavitve dodajte vnos v ~/.ssh/config
datoteko na vašem lokalnem računalniku za enostavno povezavo z oddaljenim strežnikom. Odprite datoteko v lokalnem računalniku z ukazom.
nano $HOME/.ssh/config
Znotraj datoteke dodajte vnos za oddaljeni strežnik, kot je:
gostitelj backup_server
ime gostitelja 192.168.0.24
uporabnik rsync
IdentityFile ~/.ssh/rsync
Spremenite ime gostitelja v naslov IP vašega oddaljenega strežnika in če ste uporabili uporabniško ime, ki ni "rsync", spremenite tudi to. Za gostitelja lahko uporabite vse, kar želite, vendar je bil za ta primer uporabljen "backup_server". Shranite in zaprite datoteko tako, da pritisnete Ctrl+X, nato pa tipki "Y" in Enter.
Preizkusite svojo SSH povezavo z oddaljenim strežnikom z ukazom.
ssh backup_server
Ob predpostavki, da je vse pravilno nastavljeno, bi morali biti zdaj prijavljeni v svoj oddaljeni strežnik prek SSH. Zaprite povezavo z ukazom.
izhod
Sinhronizirajte svoje datoteke
Zdaj preizkusite rsync
funkcionalnost in na primer za sinhronizacijo imenika Dokumenti v lokalnem računalniku zaženite ukaz:
rsync -avz --progress ~/Documents/ backup_server:~/Documents
Prvi pojav ~/Dokumenti/
določa lokalno datoteko ali imenik za sinhronizacijo, backup_server
ustreza vnosu, dodanemu v ~/.ssh/config
datoteko in konec :~/Dokumenti
preprosto določa, da se vse naloži v imenik /Documents oddaljenega strežnika glede na domači imenik.
Prijavite se v oddaljeni strežnik in videli bi nov imenik Dokumenti, ki je sinhroniziran s tistim v vašem lokalnem računalniku. Vsakič, ko zaženete zgornji ukaz, bodo naložene samo datoteke, ki so bile spremenjene od zadnjega časa, tako da ne boste nenehno nalagali celotne vsebine imenika.
Avtomatizirajte prek Crontaba
Zdaj, ko je vse preizkušeno in deluje pravilno, lahko preprosto avtomatiziramo celoten postopek z dodajanjem opravila crontab v naš lokalni računalnik. Če želite samodejno sinhronizirati lokalno mapo z oddaljenim strežnikom vsakih 15 minut, v terminalu zaženite ukaz.
(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab
Morda boste prejeli sporočilo »ni crontab za uporabnika« in ga lahko preprosto prezrete. Spremenite dokumenti
imenik na karkoli želite varnostno kopirati, vendar pustite poševnico za imenike, sicer ne bodo pravilno varnostno kopirali.
Preverite, ali je bilo opravilo crontab uspešno dodano z ukazom.
crontab -l
Če vidite opravilo crontab, ki je bilo pravkar dodano, je vse na svojem mestu. Počakajte 15 minut, preverite svoj oddaljeni strežnik in vse potrebne datoteke bi morale biti tam. Od zdaj naprej bodo vse spremembe vaših datotek samodejno naložene na oddaljeni strežnik vsakih 15 minut.
Prenesite z oddaljenega strežnika
Uporabite lahko tudi rsync
da prenesete datoteke z oddaljenega strežnika in jih sinhronizirate z lokalnim računalnikom. Z uporabo zgornjega primera imenika /Documents znotraj terminala zaženite ukaz:
rsync -chavzP backup_server:~/Documents/ ~/Documents
The ~./Dokumenti
imenik na vašem lokalnem računalniku naj bo zdaj zrcalna slika oddaljenega strežnika.
Vključi in izključi vzorce
Če boste kdaj morali sinhronizirati samo datoteke, ki se ujemajo z določenim vzorcem, na primer konec z .html
lahko uporabite --vključiti
vzorec. V terminalu zaženite ukaz.
rsync -avz --vključi "*.html" --progress ~/mysite/ backup_server:~/public_html
Preverite oddaljeni strežnik in videli boste samo datoteke s pripono .html iz lokalnega imenika /mysite/, ki so bile naložene v oddaljeni imenik /public_html/. Podobno lahko tudi sinhronizirate vse, razen določenih datotek z --izključi
možnost. Naslednji ukaz bo na primer sinhroniziral vse datoteke, razen tistih z a .txt
razširitev.
rsync -avz --exclude "*.txt" --progress ~/mysite/ backup_server:~/public_html
Sinhronizirajte dva lokalna imenika
Če je kdaj potrebno, lahko z ukazom sinhronizirate tudi dva lokalna imenika.
rsync -zvr ~/vir/imenik ~/cilj/imenik
Ta ukaz deluje popolnoma enako kot pri sinhronizaciji z oddaljenim strežnikom, edina razlika je v tem, da gre za dva lokalna imenika.
Počivaj mirno
Zdaj si lahko oddahnete, saj veste, da so vaše možnosti za izgubo podatkov zdaj bistveno manjše. V tem članku ste izvedeli, kaj rsync
je, kako ustvariti in namestiti ključ SSH, definirati strežnik znotraj ~./.ssh/config
datoteko, sinhronizirajte lokalni in oddaljeni imenik ter avtomatizirajte celoten proces prek crontab. V prihodnje bodo vse potrebne datoteke vedno sinhronizirane z vašim oddaljenim strežnikom s samo 15-minutnim zamikom.
Ali morate klonirati trdi disk ali particijo za Linux? Uporabite eno od teh orodij za kloniranje pogona za kloniranje diska Linux.
- Linux
- Varnostno kopiranje podatkov
- Linux
- Varnostno kopiranje v oblaku
- Domače omrežje
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Še en korak!!!
Prosimo, potrdite svoj e-poštni naslov v e-pošti, ki smo vam jo pravkar poslali.