Oletko koskaan huolissasi tietojesi menettämisestä tai oletko kyllästynyt päivittäiseen tai viikoittaiseen manuaaliseen varmuuskopiointiin? Käytä rsync
komento ja synkronoi paikalliset tiedostosi automaattisesti etäpalvelimeen niin usein kuin haluat ilman manuaalista puuttumista. Huomaa, että tämä opas vaatii pääsyn Linux-etäpalvelimeen (esim. AWS), ja se on kirjoitettu Ubuntu 20.04:llä, vaikka minkä tahansa Linux-jakelun pitäisi toimia hyvin.
Asenna rsync
Ennen kuin mitään, tarkista onko vai ei rsync
on asennettu. Suorita tämä komento sekä paikallisella tietokoneellasi että verkkopalvelimellasi:
rsync --versio
Jos saat vastineeksi nykyisen rsync-version, olet valmis seuraavaan osioon. Muuten, jos saat a komentoa ei löydy virhe, voit asentaa rsync
tällä komennolla:
sudo apt-get -y asentaa rsync
Luo SSH-avain
Käytämme a SSH-avain todentamaan paikallisen tietokoneemme ja etäpalvelimen välisen yhteyden. Luo uusi SSH-avain paikalliselle tietokoneelle terminaalissa suorittamalla komento:
Tarvitsetko etäyhteyden Linux-tietokoneellesi tai -palvelimellesi? Näin voit määrittää ja määrittää SSH: n Linuxissa, Windowsissa ja mobiilissa.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key
Kun sinua pyydetään antamaan salasana, jätä se tyhjäksi ja paina Enter-näppäintä kahdesti. Tämä luo kaksi uutta tiedostoa sisään ~/.ssh/
hakemisto nimeltä rsync.key
joka on yksityinen avain, ja rsync.key.pub
, julkinen avain.
Asenna etäpalvelin
Vaikka tätä opasta ei vaadita, luomme a uusi käyttäjä etäpalvelimella rsync-yhteyksiä varten ja kaikkien varmuuskopiotiedostojen tallentamiseksi. Kirjaudu etäpalvelimelle SSH: n kautta ja suorita tämä komento:
sudo useradd -m rsync
Yllä oleva esimerkki käyttää käyttäjätunnusta rsync, mutta voit muuttaa sen mihin tahansa. The -m
vaihtoehto vain käskee Linuxia luomaan kotihakemiston uudelle käyttäjällemme.
Jotta paikallinen tietokoneesi voi todentaa, edellisessä osiossa luotu julkinen SSH-avain on kopioitava etäpalvelimelle. Avaa /~.ssh/rsync.key.pub
tiedosto a tekstieditori ja näet yhden suuren viivan, joka näyttää jotain siltä.
ssh-rsa käyttäjä@isäntä
Tämä pitkä rivi on julkinen SSH-avain. Kopioi se leikepöydällesi ja suorita nämä komennot etäpalvelimessasi:
sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... käyttäjä@isäntä" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys
Korvaa toisessa viimeisessä komennossa lainausmerkkien välissä oleva teksti pitkällä julkisella SSH-avainrivillä. Siinä kaikki, paikallinen tietokoneesi voi nyt todentaa etäpalvelimesi kanssa.
Määritä ssh-asetustiedosto
Lisää merkintä yksinkertaisuuden vuoksi ~/.ssh/config
tiedosto paikallisella tietokoneellasi, jotta voit helposti muodostaa yhteyden etäpalvelimeen. Avaa tiedosto paikallisella tietokoneella komennolla.
nano $HOME/.ssh/config
Lisää tiedostoon etäpalvelimen merkintä, kuten:
isäntä varmuuskopio_palvelin
isäntänimi 192.168.0.24
käyttäjä rsync
IdentityFile ~/.ssh/rsync
Muuta isäntänimi etäpalvelimesi IP-osoitteeksi, ja jos käytit muuta käyttäjätunnusta kuin "rsync", vaihda myös se. Voit käyttää isäntänä mitä tahansa, mutta tässä esimerkissä käytettiin "backup_server". Tallenna ja sulje tiedosto painamalla Ctrl+X ja sitten "Y"- ja Enter-näppäimiä.
Testaa SSH-yhteytesi etäpalvelimeen komennolla.
ssh backup_server
Olettaen, että kaikki on asetettu oikein, sinun pitäisi nyt olla kirjautuneena etäpalvelimellesi SSH: n kautta. Sulje yhteys komennolla.
poistu
Synkronoi tiedostosi
Testaa nyt rsync
toimintoja ja esimerkiksi synkronoidaksesi asiakirjat-hakemistosi paikallisella tietokoneellasi, suorita komento:
rsync -avz --progress ~/Documents/ backup_server:~/Documents
Ensimmäinen esiintyminen ~/Asiakirjat/
määrittää synkronoitavan paikallisen tiedoston tai hakemiston, varmuuskopio_palvelin
vastaa kohtaan lisättyä merkintää ~/.ssh/config
tiedosto ja loppu :~/Asiakirjat
yksinkertaisesti määrittää, että kaikki ladataan etäpalvelimen /Documents-hakemistoon suhteessa kotihakemistoon.
Kirjaudu sisään etäpalvelimelle, ja sinun pitäisi nähdä uusi asiakirjahakemisto, joka on synkronoitu paikallisen tietokoneesi hakemiston kanssa. Aina kun suoritat yllä olevan komennon, vain tiedostot, joita on muokattu edellisen kerran, ladataan, joten et lataa jatkuvasti koko hakemiston sisältöä.
Automatisoi Crontabin kautta
Nyt kun kaikki on testattu ja toimii oikein, voimme helposti automatisoida koko prosessin lisäämällä crontab-työn paikalliseen tietokoneeseemme. Jos haluat synkronoida paikallisen kansion automaattisesti etäpalvelimeen 15 minuutin välein, suorita komento terminaalissa.
(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab
Saatat saada "no crontab for user" -viestin, ja voit jättää sen huomiotta. Muuta Asiakirjat
hakemistoon mihin tahansa, jonka haluat varmuuskopioida, mutta varmista, että jätä hakemistojen loppuun vinoviiva, muuten ne eivät varmuuskopioidu kunnolla.
Tarkista, että crontab-työ on lisätty onnistuneesti komennolla.
crontab -l
Jos näet juuri lisätyn crontab-työn, kaikki on paikallaan. Odota 15 minuuttia, tarkista etäpalvelimesi ja kaikkien tarvittavien tiedostojen pitäisi olla siellä. Tästä lähtien kaikki tiedostoihisi tehdyt muutokset ladataan automaattisesti etäpalvelimelle 15 minuutin välein.
Lataa etäpalvelimelta
Voit myös käyttää rsync
ladataksesi tiedostoja etäpalvelimelta ja synkronoidaksesi ne paikalliseen tietokoneeseesi. Käytä yllä olevaa / Documents -hakemistoesimerkkiä ja suorita komento terminaalissa:
rsync -chavzP backup_server:~/Documents/ ~/Documents
The ~./Asiakirjat
paikallisen PC: n hakemiston pitäisi nyt olla peilikuva etäpalvelimesta.
Sisällytä ja sulje pois kuvioita
Jos sinun on koskaan synkronoitava vain tiedostoja, jotka vastaavat tiettyä mallia, kuten loppu .html
voit käyttää --sisältää
kuvio. Suorita komento terminaalissa.
rsync -avz --include "*.html" --progress ~/omasivusto/ backup_server:~/public_html
Tarkista etäpalvelin, niin näet vain .html-tunnisteiset tiedostot paikallisesta /omasivusto/-hakemistosta, jotka on ladattu /public_html/-etähakemistoon. Vastaavasti voit myös synkronoida kaiken paitsi tietyt tiedostot --sulje pois
vaihtoehto. Esimerkiksi seuraava komento synkronoi kaikki tiedostot paitsi ne, joissa on a .txt
laajennus.
rsync -avz --exclude "*.txt" --progress ~/omasivusto/ backup_server:~/public_html
Synkronoi kaksi paikallista hakemistoa
Tarvittaessa voit myös synkronoida kaksi paikallista hakemistoa komennolla.
rsync -zvr ~/lähde/hakemisto ~/kohde/hakemisto
Tämä komento toimii täsmälleen samalla tavalla kuin synkronoitaessa etäpalvelimeen, ainoa ero on se, että se on kaksi paikallista hakemistoa.
Lepää rauhallisesti
Voit nyt huokaista helpotuksesta tietäen, että mahdollisuutesi tietojen menettämiseen ovat nyt huomattavasti pienemmät. Tässä artikkelissa olet oppinut mitä rsync
on, kuinka luoda ja asentaa SSH-avain, määritellä palvelin sisällä ~./.ssh/config
tiedosto, synkronoi paikallinen ja etähakemisto ja automatisoi koko prosessi crontabin kautta. Jatkossa kaikki tarvittavat tiedostot synkronoidaan aina etäpalvelimesi kanssa vain 15 minuutin viiveellä.
Haluatko kloonata Linux-kiintolevyaseman tai -osion? Käytä jotakin näistä aseman kloonaustyökaluista Linux-levyn kloonaamiseen.
- Linux
- Datan varmuuskopio
- Linux
- Pilvivarmuuskopio
- Kotiverkko
Tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Vielä yksi askel…!
Vahvista sähköpostiosoitteesi sähköpostissa, jonka juuri lähetimme sinulle.