Ar kada nors nerimaujate dėl duomenų praradimo arba pavargote nuo rankinio atsarginių kopijų kūrimo kasdien ar kas savaitę? Naudoti rsync komandą ir automatiškai sinchronizuokite vietinius failus su nuotoliniu serveriu tiek dažnai, kiek norite, be rankinio įsikišimo. Atkreipkite dėmesį, kad šiam vadovui reikalinga prieiga prie nuotolinio Linux serverio (pvz., AWS) ir yra parašyta Ubuntu 20.04, nors bet koks Linux platinimas turėtų veikti gerai.

Įdiekite rsync

Prieš ką nors patikrinkite, ar ne rsync yra įdiegta. Vietiniame kompiuteryje ir žiniatinklio serveryje paleiskite šią komandą:

rsync -- versija

Jei mainais gausite dabartinę rsync versiją, būsite pasiruošę kitam skyriui. Priešingu atveju, jei gausite a komanda nerasta klaida, galite įdiegti rsync su šia komanda:

sudo apt-get -y įdiegti rsync

Sukurkite SSH raktą

Mes naudosime a SSH raktas autentifikuoti ryšį tarp vietinio kompiuterio ir nuotolinio serverio. Norėdami sugeneruoti naują SSH raktą vietiniame kompiuteryje terminale, paleiskite komandą:

instagram viewer
Kaip nustatyti SSH sistemoje „Linux“ ir išbandyti sąranką: pradedančiųjų vadovas

Reikia nuotoliniu būdu pasiekti „Linux“ kompiuterį ar serverį? Štai kaip nustatyti ir konfigūruoti SSH „Linux“, „Windows“ ir mobiliuosiuose įrenginiuose.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key

Kai būsite paraginti įvesti slaptažodį, palikite jį tuščią ir du kartus paspauskite klavišą Enter. Taip jūsų viduje bus sukurti du nauji failai ~/.ssh/ pavadintas katalogas rsync.key kuris yra privatus raktas, ir rsync.key.pub, viešasis raktas.

Nustatykite nuotolinį serverį

Nors ir nebūtina, šiam vadovui sukursime a naujas vartotojas nuotoliniame serveryje rsync ryšiams ir visų atsarginių failų saugojimui. Prisijunkite prie nuotolinio serverio per SSH ir paleiskite šią komandą:

sudo useradd -m rsync

Aukščiau pateiktame pavyzdyje naudojamas vartotojo vardas rsync, bet galite jį pakeisti į bet ką, ko norite. The -m parinktis tiesiog liepia Linux sukurti namų katalogą mūsų naujam vartotojui.

Kad vietinis kompiuteris galėtų autentifikuoti, viešąjį SSH raktą, kuris buvo sugeneruotas ankstesniame skyriuje, reikia nukopijuoti į nuotolinį serverį. Atidaryk /~.ssh/rsync.key.pub failą a teksto redaktorius ir pamatysite vieną didelę liniją, kuri atrodo panašiai.

ssh-rsa vartotojas@host

Ši ilga eilutė yra viešasis SSH raktas. Nukopijuokite jį į mainų sritį ir nuotoliniame serveryje paleiskite šias komandas:

sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... user@host" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys

Antroje paskutinėje komandoje pakeiskite tekstą tarp kabučių ta ilga viešąja SSH rakto eilute. Viskas, jūsų vietinis kompiuteris dabar galės autentifikuoti savo nuotolinį serverį.

Konfigūruoti ssh konfigūracijos failą

Paprastumo dėlei pridėkite įrašą prie ~/.ssh/config failą vietiniame kompiuteryje, kad galėtumėte lengvai prisijungti prie nuotolinio serverio. Atidarykite failą vietiniame kompiuteryje naudodami komandą.

nano $HOME/.ssh/config

Failo viduje pridėkite nuotolinio serverio įrašą, pavyzdžiui:

pagrindinio kompiuterio atsarginis_serveris
 pagrindinio kompiuterio vardas 192.168.0.24
 vartotojo rsync
 IdentityFile ~/.ssh/rsync

Pakeiskite pagrindinio kompiuterio pavadinimą į nuotolinio serverio IP adresą ir, jei naudojote kitą vartotojo vardą, o ne „rsync“, taip pat pakeiskite jį. Prieglobai galite naudoti bet ką, bet šiame pavyzdyje buvo naudojamas „atsarginis_serveris“. Išsaugokite ir uždarykite failą paspausdami Ctrl+X, po to klavišus "Y" ir Enter.

Išbandykite SSH ryšį su nuotoliniu serveriu naudodami komandą.

ssh atsarginis_serveris

Darant prielaidą, kad viskas nustatyta teisingai, dabar turėtumėte būti prisijungę prie nuotolinio serverio per SSH. Uždarykite ryšį naudodami komandą.

išeiti

Sinchronizuokite failus

Dabar išbandykite rsync funkcionalumą ir, pavyzdžiui, norėdami sinchronizuoti savo dokumentų katalogą vietiniame kompiuteryje, paleiskite komandą:

rsync -avz --progress ~/Documents/ backup_server:~/Documents

Pirmasis pasireiškimas ~/Dokumentai/ nurodo vietinį failą arba katalogą, kurį reikia sinchronizuoti, atsarginis_serveris atitinka įrašą, pridėtą prie ~/.ssh/config failą ir pabaigą :~/Dokumentai tiesiog nurodo viską įkelti į nuotolinio serverio /Documents katalogą, palyginti su namų katalogu.

Prisijunkite prie nuotolinio serverio ir turėtumėte pamatyti naują dokumentų katalogą, kuris yra sinchronizuojamas su jūsų vietinio kompiuterio katalogu. Kiekvieną kartą paleidus pirmiau nurodytą komandą, bus įkeliami tik tie failai, kurie buvo modifikuoti nuo paskutinio karto, todėl jūs nuolat neįkeliate viso katalogo turinio.

Automatizuoti per Crontab

Dabar, kai viskas patikrinta ir veikia tinkamai, galime nesunkiai automatizuoti visą procesą, įtraukdami crontab užduotį į vietinį kompiuterį. Norėdami automatiškai sinchronizuoti vietinį aplanką su nuotoliniu serveriu kas 15 minučių, terminale paleiskite komandą.

(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab

Galite gauti pranešimą „no crontab vartotojui“ ir galite tiesiog jo nepaisyti. Pakeisti Dokumentai katalogą į bet kurį, kurio atsarginę kopiją norite sukurti, tačiau palikite pasvirąjį brūkšnį katalogams, kitaip jie nebus tinkamai sukurti atsarginės kopijos.

Patikrinkite, ar crontab užduotis buvo sėkmingai pridėta naudojant komandą.

crontab -l

Jei matote ką tik pridėtą crontab užduotį, viskas yra vietoje. Palaukite 15 minučių, patikrinkite savo nuotolinį serverį ir visi reikalingi failai turėtų būti ten. Nuo šiol visi failų pakeitimai bus automatiškai įkeliami į nuotolinį serverį kas 15 minučių.

Atsisiųskite iš nuotolinio serverio

Taip pat galite naudoti rsync Norėdami atsisiųsti failus iš nuotolinio serverio ir sinchronizuoti juos su vietiniu kompiuteriu. Naudodami aukščiau pateiktą / Documents katalogo pavyzdį, terminale paleiskite komandą:

rsync -chavzP atsarginės kopijos_serveris:~/Documents/ ~/Documents

The ~./Dokumentai jūsų vietinio kompiuterio katalogas dabar turėtų būti veidrodinis nuotolinio serverio vaizdas.

Įtraukti ir neįtraukti šablonų

Jei kada nors reikės sinchronizuoti tik tuos failus, kurie atitinka tam tikrą šabloną, pvz., baigiasi .html galite naudoti --įtraukti modelis. Terminale paleiskite komandą.

rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html

Patikrinkite nuotolinį serverį ir pamatysite tik failus su .html plėtiniu iš vietinio /mysite/ katalogo, kurie buvo įkelti į /public_html/ nuotolinį katalogą. Taip pat galite sinchronizuoti viską, išskyrus tam tikrus failus, su --Neįtraukti variantas. Pavyzdžiui, ši komanda sinchronizuos visus failus, išskyrus tuos, kuriuose yra a .txt pratęsimas.

rsync -avz --exclude "*.txt" --progress ~/mysite/ backup_server:~/public_html

Sinchronizuoti du vietinius katalogus

Jei kada reikia, su komanda taip pat galite sinchronizuoti du vietinius katalogus.

rsync -zvr ~/šaltinis/katalogas ~/paskirties vieta/katalogas

Ši komanda veikia lygiai taip pat, kaip sinchronizuojant su nuotoliniu serveriu, vienintelis skirtumas yra tai, kad tai du vietiniai katalogai.

Atsipalaiduokite

Dabar galite lengviau atsikvėpti, žinodami, kad jūsų duomenų praradimo tikimybė yra žymiai mažesnė. Šiame straipsnyje jūs sužinojote, ką rsync yra, kaip sukurti ir įdiegti SSH raktą, apibrėžti serverį ~./.ssh/config failą, sinchronizuokite vietinį ir nuotolinį katalogą ir automatizuokite visą procesą naudodami crontab. Ateityje visi reikalingi failai visada bus sinchronizuojami su nuotoliniu serveriu tik su 15 minučių vėlavimu.

El. paštas
Kaip klonuoti „Linux“ standųjį diską: 4 metodai

Reikia klonuoti „Linux“ standųjį diską arba skaidinį? Norėdami klonuoti „Linux“ diską, naudokite vieną iš šių disko klonavimo įrankių.

Susijusios temos
  • Linux
  • Duomenų atsarginė kopija
  • Linux
  • Atsarginė kopija debesyje
  • Namų tinklas
Apie autorių
Mattas Dizakas (13 straipsnių paskelbta)Daugiau iš Matto Dizako

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Patvirtinkite savo el. pašto adresą el. laiške, kurį ką tik jums atsiuntėme.

.