How-To: Itakda at Schedule Automated Backups sa Linux
Anuman ang mga operating system ang ginagamit mo, ang data pagkawala ay hindi maiwasan. Maaga o huli, ito ay mangyayari sa iyo-ang tanging tanong ay kung gaano kalaki ang data mawawala sa iyo. Kahit na salakayin ay maaaring maging isang insurance policy para sa pagkabigo hardware, ito ay hindi na dinisenyo upang maglingkod bilang isang backup at hindi na gawin ang gawain ng mabuti sa lahat. Human error ay palaging ang pinakamalaking pag-aalala dahil ang mga mahahalagang files ay maaring sinasadyang mapapatungan o tinanggal sa bulagsak sandali. Ito ay madaling mahuli sa iyong backups o humanap ng kasiyahan; walang kamakailan-lamang na backups wala kang pagkuha ng diskarte. Ang gabay na ito ay tutulong sa iyo-automate ang iyong backups sa iyong Linux sangkapan upang ikaw ay laging may ang iyong mga file hanggang sa petsa.
Hakbang 1: Kunin ang mga bagay na kailangan Kasangkapan
Bago ka makakapag-backup ang iyong data, kailangan mo ng isang katanggap-tanggap na imbakan lokasyon sa kopyahin ito. Optical ng media tulad ng CD-R/RW o DVD-R/RW discs ay isang beses sa isang tanyag na (ngunit hindi kinakailangan ang pinakamahusay) medium-back up sa mga ito dahil ang gaganapin ng maraming data para sa oras at ay medyo cheap. Cheap optical media ay angkop para sa panandaliang pag-iimbak, ngunit hindi dapat relied upon para sa pang-matagalang dahil sa posibilidad ng bakat, oksihenasyon, o organic na pangulay breakdown. (CD mabulok) Optical media ngayon ay kahit na mas mababa kaysa sa mga praktikal na ito ay ginagamit upang maging mula sa pinaka-personal na data lubhang lumampas sa kung ano ang pinaka-format ng disc maaari hold. Gusto tumagal maraming discs (o isa o higit pang mga discs sa isang pa-mahal-format tulad ng Blu-ray) sa pag-uugali ng isang backup na session. Ito ay ginagamit upang maging pangkaraniwan pagsasanay upang maisama ang maramihang kalabisan ng mga kopya ng isang file sa isang disc o kumalat sa buong ilang discs upang mapagbuti ang mga pagkakataong pagbawi sa kaso ng pinsala, at ito ay pataasin ang disc count mas mabuti. Bandang huli, ito lamang ay nagkakahalaga ng hindi gumagamit ng salamin sa mata na discs para sa backup anymore.
Ngayon, ang tanging praktikal na paraan para sa backup ay alinman sa isang panlabas na hard drive (o ilan sa mga ito, kung nais mong pinakamataas na proteksyon) o sa isang panlabas na server. Ito ay pinakamahusay na umasa sa isang kumbinasyon ng mga pamamaraan sa halip na isa lamang upang madagdagan ang kalabisan. Sa anumang kaso, ang mga hard drive (s) ay dapat na malaking sapat na upang mapaunlakan ang iyong kasalukuyang umiiral na data sa karagdagan sa anumang nakikinita paglago. Sa kaso ng mga server, dapat mo talagang gumamit ng isang remote server kung ikaw ay mayroong access sa isa (kung bumili ka ng web hosting at magkaroon ng maraming puwang na iniwan sa iyong account, na magiging ideal para sa backups) Anuman ang mekanismo imbakan gamitin mo, ang aktwal na file transfer na operasyon ay dapat gawin sa isang programa na tinatawag na Rsync.
Hakbang 2: Set Up Rsync
Rsync ay isang programa na kopya ng data mula sa isang lokasyon sa iba pa. Kahit na sa ibang programa, CP, umiiral para sa mga layunin na ito, Rsync ay malayong mas advance at mabisa; habang CP ay maaari lamang buong kopya ng mga file mula sa isang lokasyon sa ibang sa isang lokal na sistema, Rsync naihahambing ang source file sa file na destinasyon (kung ito ay umiiral) at lamang ng mga kopya ng mas bagong mga bahagi ng source file sa destinasyon. Sa ganitong paraan, maaari Rsync synchronize data sa pagitan ng dalawang lokasyon karami tulad ng ang kasangkapan sa Windows ay portpolyo. Ito ay ini-imbak ang isang malawak na halaga ng oras at bandwidth sa backup na mga pamamaraan.
Bukod sa na, Rsync maaaring i-sync ang mga file sa parehong lokal at remote sistema kung saan ang CP ay maaari lamang sa trabaho sa mga lokal na sistema. (may isang remote na bersyon ng CP na tinatawag na scp, pero kahit na ito lamang ang trabaho sa buong files) Rsync ay tulad ng mabagal na CP ang unang pagkakataon na gamitin mo ito dahil sa ang mga destinasyon ng mga file ay dapat kopyahin ng buo sa bagong lokasyon ng backup, ngunit kasunod na mga sesyon ay magkano ang mas mabilis. Dapat mong malaman na ito ay maaring kumuha ng kahit saan mula sa ilang oras sa ilang araw upang makumpleto ang unang Rsync session sa isang remote server, depende sa bilis ng iyong koneksyon at ang halaga ng maramihang data na kailangan mo sa transfer. Bukod dito, Rsync (sa pamamagitan ng SSH) encrypts remote file transfer session upang mapanatili ang iyong data mula sa pagiging sniffed sa pamamasahe.

Rsync ay medyo tapat. Ang basic syntax ay ang mga sumusunod: "rsync-a [dir source] [destinasyon dir]". (ang-lumipat sa isang nagsasabi rsync na magtrabaho sa "archive" mode, na kung saan ay ideal para sa backup function) Kahit na ang pangunahing utos na nakalista sa itaas ay gagana kapag ikaw ay tukuyin ang pinagmulan at patutunguhan lokasyon, maraming iba pang mga opsyon na magagamit sa sabunot Rsync. Ito ay maaaring maging natuklasan sa pamamagitan ng pagbabasa ng mga Rsync manual na pahina (tumakbo "tao rsync").
Kahit na ang mga utos ng pagpapatupad ng linya ng Rsync ay nagbibigay-daan para sa mas madaling Automation, (more on na ang susunod) gamit Rsync sa ganitong paraan ay maaaring maging mahirap para sa mga bagong manggagamit na ito ay hindi na ginagamit sa mga linya ng command. Sa naturang mga kaso diyan ay a graphical frontend tinatawag Grsync na malaking-malaki gawing simple ang mga backup na proseso. Grsync redefines ang iba't-ibang mga switch ng madaling-maintindihan ang checkbox na maaaring itakda sa ang nais na kumbinasyon.

Grsync ay magkaroon ng isang antas ng Automation sa pamamagitan ng pagpapahintulot sa iyo upang tukuyin at awtomatikong magpatakbo ng isang session (grsync-e [session_name]) pero standard Rsync pa rin ang mas maraming nalalaman dahil maaari mong tukuyin ang mga utos direkta sa halip ng pagkakaroon ng umasa sa paunang-natukoy na mga sesyon.

Hakbang 3: cron
Kapag ikaw ay isinaayos Rsync to backup ang iyong mga file, ikaw ay Halfway lamang sa pagkakaroon ng isang mabubuhay backup plan. Isang disente solusyon backup na dapat tumakbo ng regular sa halip ng intermittently, at lahat sa pamamagitan ng kanyang sarili Rsync ay hindi na-update ang iyong mga file maliban kung ikaw mano-mano ang pakiusapan ito. Bagaman maaari mong tandaan na patakbuhin ang mano-mano ang Rsync araw-araw, may isang malayong mas madaling paraan upang gawin ito.
Linux at mga katulad na sistema ng magkaroon ng isang utility na tinatawag na cron, na kung saan ay mahalagang isang scheduling tool para sa pagpapatakbo ng ibang mga programa. Ang bawat user ay may isang crontab file, na kung saan ay isang listahan ng mga tagubilin para sa cron-execute at ang oras ng pagtuturo sa bawat isa ay dapat na tumakbo. Sa ganitong paraan, sa lahat (hindi lamang ugat) ay maaaring gamitin ang cron. Cron gumagana ang orasan ng sistema; kapag ang tamang oras para sa isang binalak listahan ng kaganapan sa paligid, cron ay awtomatikong execute ng command.

Mayroong ilang mga paraan upang i-edit ang iyong mga crontab. Ang pinakamadaling paraan para sa mga bagong gumagamit upang isaayos ang cron ay ang paggamit ng isang frontend gusto gcrontab o kcron. Higit pang mga advanced na mga user ay maaaring i-edit ang crontab mano-mano sa isang text editor tulad ng puwersa o Kate. Upang i-edit ang crontab mano-mano, buksan ang isang terminal at uri ng "crontab-e". Matapos na, dapat mong suriin ang iyong sistema ng listahan ng mga proseso para sa isang "cron" o "crond" proseso (root dapat sariling ito) upang matiyak na ang cron demonyo ay tumatakbo. Pagkatapos ng pag-edit ang iyong mga crontab, ikaw ay dapat na muling simulan ang proseso ng cron (tumakbo ang "sudo / etc / init.d / i-restart ang cron") bago ang iyong bagong mga pagbabago gagana.

Manual crontab pag-edit ng hitsura daunting sa unang ngunit simpleng minsan makuha ninyo ang pagkakabitin nito. Ang bawat hilera sa listahan crontab ay itinuturing bilang isang hiwalay na command. Ang bawat hilera ay may ilang mga haligi na dapat tinukoy: minute, (abbreviated "m") oras, (abbreviated "h") araw ng buwan, (abbreviated "dom") na buwan, (abbreviated "Mon") araw ng linggo, (abbreviated "dow") at ang mga utos. Ang bawat haligi ay delimited sa pamamagitan ng isang solong puwang na walang ibang mga marka, at ito ay hindi bagay kung ang bawat hilera ng mga linya up ng ganap na kasama ng iba o hindi. Maaari kang magdagdag ng mga oras / petsa parehong bilang tunay na numero (cron ay gumagamit ng isang kakaibang 24-oras na orasan, kaya tanghali ay 12:00 at sa hatinggabi ay 00:00), abbreviated araw ng linggo (Sun, Thu, atbp), at ligaw character. (*) Anything na tinukoy sa isang ligaw na karakter ay interpreted ng cron ng "lahat", ibig sabihin na kung ang oras sa isang utos ay nakatakda sa "*", cron ay pugutan ng ulo ang utos sa bawat oras. Upang i-configure ng isang bagay na paulit-ulit na tatakbo sa isang tiyak na pagitan, maaari mong gamitin ang isang "split" ligaw na karakter. (eg setting ng * / 2 sa patlang na oras ay magiging sanhi ng command na tumakbo nang isang beses sa bawat dalawang oras sa araw mong tukuyin.)
Cron ay lubos na mapag-angkop; Saklaw ng umaapekto sa lahat ng bagay sa pagitan ng dalawang halaga ay natukoy sa pamamagitan ng maikling gitling (-) habang maramihang nonconsecutive okasyon ay delimited sa pamamagitan ng kuwit. Halimbawa, kung nais na patakbuhin ang isang utos araw-araw mula sa unang ng buwan sa 10th, nais mong tukuyin ang "1-10" sa "dom" field. Gayundin, kung nais ng isang utos na tumakbo tuwing Lunes, Miyerkules, at Biyernes, dapat mong magpahayag ng "Mon, Wed, Fri" sa "dow" field.
Hakbang 4: Ilagay ang mga ito Magkasama
Ngayon na alam mo ang tungkol sa Rsync at cron, maaari mong malamang na makita kung paano sila ay sama-sama na ginamit sa automate backup na proseso. Dahil disenteng backup na pamamaraan na inirekomenda ng Pag-back up sa maramihang mga pinagmumulan, nais mong lumikha ng maramihang crontabs bawat isa ay may iba't-ibang mga utos rsync. Sa kabutihang palad, may isang mas mabuti na paraan na maaaring hawakan sa isang trabaho cron.
Ang mga iba't-ibang mga utos shells sa Linux (tulad ng Bash) ay may mahusay na suporta para sa scripting. Shell script ay ang Linux katumbas ng Windows batch ng mga file at nag-aalok ng isang paraan upang mabilis na magpatakbo ng maramihang mga utos sa isang tiyak na paunang-natukoy na kaayusan at may mga preset na ang pagsasaayos. Kung ikaw ay may maraming karanasan sa lahat ng sa linya command, hindi mo dapat makahanap ng mga pangunahing scripting mahirap (diyan ay kasaganaan ng online na gabay upang matulungan kang magsulat ng script para sa Bash at iba pang mga shells kung tatakbo ka sa problema). Ang paglikha ng isang shell script na humawak ng mga kinakailangang mga utos Rsync ay walang halaga; mula sa puntong iyon, maaari kang tumawag sa diyos ang shell script sa iyong crontab at ang bawat Rsync command ay tatakbo sa mga hinirang ng panahon na itinakda mo sa cron lang na parang sila ay mahihingi sa pagiging direkta. Ito ay tumutulong upang tukuyin ang buong pathname ng shell "/ bin / Bash $ scriptname" sa crontab sa halip ng mga shortcut ". / $ Scriptname" upang siguraduhin na ang cron executes ang matagumpay na trabaho. Kung ikaw ay sensitibo ng data, dapat mong isaalang-alang ang tiyak encrypting ito bago ilagay ito sa isang shared server (tulad ng isang web host). Encryption ay maaaring gawin sa GPG sa shell script bago ang paghahatid.
Ang tanging nakikinita problema sa automated na backup ay ang sistema ng pagsasaayos madalas na baguhin ang paglipas ng panahon. Mount point at ang mga IP address ay maaaring reassigned walang abiso, at ang iyong script ay hindi awtomatikong i-update ang sarili para isama ang mga pagbabagong ito. Hangga't ang inyong Rsync utos ay sa labas ng petsa, ang iyong mga file ay hindi nai-back up ng maayos at ikaw ay hindi magkakaroon ng ideya ng problema hanggang sa ito ay masyadong late. Samakatuwid, ito ay babayaran sa mano-mano ang patakbuhin ang iyong mga backup na utos madalas sa tseke para sa mga problema at i-update ang iyong script kung kinakailangan.
Kahit na Rsync maaaring i-sync sa pagitan ng lokasyon sa mga lokal na sistema ng walang user input, ito ay karaniwang nangangailangan ng isang password bago ito i-sync sa isang remote na sistema (ito ay gumagamit ng mga bahagi ng SSH's functionality para sa mga ito). Since automated cron jobs maiwasan ang user input, na walang paraan upang magkaloob ang password na kapag ito ay kinakailangan. Dahil dito, ang default na SSH pag-uugali ay hindi gagana para sa automated backups. Maaari kang makakuha sa paligid ng ito sa pamamagitan ng pagse-set up ng pampublikong / key pribadong authentication para sa SSH; hangga't ang mga pindutan ng tugma, walang password ay kinakailangan. Maging forewarned na ang mga automated key authentication ay gumagana kung ang IP address ng mga pagbabago sa remote host (ito ay isang tampok na sinadya upang maiwasan ang tao-sa-sa-gitna-atake) at na seguridad ay bahagyang naka-kompromiso. Bandang huli, pagdating down sa isang trade-off sa pagitan ng seguridad at kaginhawaan, kaya pumili wisely batay sa iyong sitwasyon at ang mga pangangailangan.
Tagged with: backup • cron • kung paano TOS • linux • bukas source • rsync • Software
Filed under: Paano Upang
Tulad sa post na ito? Mag-subscribe sa aking RSS feed at makakuha ng mas maraming load!









































