Cei dintre noi care gestionăm servere știm cât de important este să avem copii de siguranță ale tuturor... ei bine, în caz de problemă sau eșec, backup-ul va fi cel mai bun prieten al nostru și ne va ajuta să restabilim serviciile 🙂
Cu ceva timp în urmă (câteva luni... destul de câteva luni) nu existau automat backup-uri ale configurațiilor serverului, jurnalelor sau ceva de genul acesta. Și pur și simplu nu putea fi așa haha, m-am gândit să folosesc bacula, dar Doamne!! Pentru ceea ce mi-am dorit asta a fost prea, foarte, foarte complicat dupa parerea mea, daca ceea ce vrei este sa faci pur si simplu copii de siguranta si sa le salvezi (sau sa le trimiti pe alt server, sau pe email) nu este nevoie sa folosesti Bacula, cu un scriptul simplu rezolvă toate problemele, de aceea am decis să-mi fac propriul scenariu și așa am fost mai mulțumit 😀
Și tocmai acest script este cel pe care îl împărtășesc cu voi, vă explic foarte pe scurt ce face:
- Creați un folder în care totul va fi salvat, iar acest folder este cel care va fi apoi comprimat.
- Acest folder va fi numit după anul, luna și ziua curente, de exemplu astăzi acel folder va fi numit: 2012-04-26
- COPIA / etc / (si tot continutul acestuia) în acel folder.
- Copiați jurnalele (/ var / log /) în folderul menționat anterior.
- Exportați bazele de date MySQL pe care le avem.
- Comprimați cu o parolă (PAROLA) acel folder, îl comprimă în RAR.
- Generați un fișier (date.info) cu tot jurnalul a ceea ce s-a făcut înainte (jurnal de copiere a fișierelor și compresie în .rar), pe lângă introducerea dimensiunii în acest fișier (în MB-uri) din arhiva .RAR, pe care vă reamintesc, conține tot ce am decis să salvăm.
- Ștergeți folderul în care am pus fișierele și pe care apoi l-am comprimat, pentru că dacă avem deja acest folder comprimat, nu este nevoie să-l avem și decomprimat.
- Trimite email-uri administratorilor sau persoanelor legate de server, informându-i ca backup-ul s-a facut corect, iar fisierul cu jurnalul tuturor va fi trimis atasat la acel email (data.info.rar)
Evident, acest script nu este de executat și atât haha, ar trebui să îl deschideți și să vă schimbați parola MySQL în el, deoarece nu știu parola de root a bazelor de date LOL!!!, precum și să schimbați e-mailurile în Ei doresc ca notificarea să fie trimisă, deoarece e-mailurile pe care le-am postat sunt doar un exemplu.
Dacă doriți să-l comprimați în .tar.gz și nu în .rar (Cum este configurat scriptul?) acolo am lăsat rândul comentat, doar decomentează-l și comentează .rar. La fel, dacă doriți să copiați fișierul comprimat prin SSH (folosind SCP) pe alt server sau hosting, am lăsat și rândul la final (se comentează), în el trebuie să introduceți datele de acces la serverul sau hostingul dvs. ( URL-ul utilizatorului și al domeniului sau al serverului), dar pentru ca acest lucru să funcționeze trebuie și ei configurați SSH fără parolă, deoarece scriptul nu va putea accesa serverul dacă nu are acces permis pe acesta.
Ah, dacă vrei ca trimiterea de e-mailuri să funcționeze, trebuie să ai remediere post instalat pe server, aproape toată lumea instalează remediere post dar hei, clarificarea este valabila :)
Deși... ar putea modifica și folosi a script în Piton pe care am plecat acum ceva vreme, dar cred că ar fi ceva mai mult de lucru ^ - ^ U
Și ei bine, tot ce rămâne este să vă las scenariul:
Script de backup VPS
Amintiți-vă că trebuie să îi acordați permisiuni de execuție (chmod +x vps_backup-script.sh)
Pentru ca acesta să ruleze în fiecare zi la 10:XNUMX, puneți asta într-un terminal:
echo "* 10 * * * root cd /root && ./vps_backup-script.sh" >> /etc/crontab && /etc/init.d/cron restart
Presupunând că scriptul este salvat ca: /root/vps_backup-script.sh
Destul de bine, nu vreau să fac asta să pară prea complicat, ceea ce nu este haha, în realitate acesta este ceva extrem de simplu, doar că atunci când îl vezi pentru prima dată poate fi puțin înfricoșător 🙂
Anunțați-mă dacă aveți întrebări, întrebări sau sugestii, știți că îmi place să vă ajut 😀
În ceea ce priveşte
PD: Va lamuresc ca nu sunt si nici nu ma consider programator haha, nici macar aproape LOL!! Știu că scriptul poate fi optimizat mult mai mult, dar hei... nu sunt programator :)
Pune deoparte,
Salutari,
Ce mai faci, foarte interesant, dar o avertizare; Dacă acel script este rulat astăzi, se va numi 2012-04-25, astăzi este ziua de gardă.
Mulţumiri
faustod
HAHAHA adevărat hahaha, cam trăiesc în viitor... LOL!!!
Foarte interesant, de fapt îmi arată cum să fac mai multe lucruri, le dezvolt pe ale mele și o să iau câteva bucăți de cod de la dvs. pentru a adăuga funcționalitate.
În cazul meu, voi folosi rsync în loc de cp pentru a copia fișierele.
Noroc !!
Da, folosirea rsync este o idee bună, dar am preferat să folosesc cp pentru că, voi copia fișierele într-un folder gol, nu sincroniza cu alte informații haha, de aceea am folosit doar cp 😀
Dacă doriți să aflați mai multe sfaturi pentru bash, verificați eticheta aici pe site... veți găsi cum să faceți fișiere de blocare, să controlați ce utilizatori pot executa scriptul, etc 😀
https://blog.desdelinux.net/tag/bash/
Salutări și mulțumiri pentru comentarii 🙂
un server cu ssh fara parola?
Nu fara parola, dar accepti cu incredere conexiuni SSH de la un IP anume, asta se face FOARTE sigur cu folosirea cheilor publice si private, in linkul pe care l-am lasat explic totul in detaliu :)
Cu chei da, o clipa m-am speriat xD
LAUGH OUT LOUD!!! Nici măcar nu credeam că sunt sinucigaș LOL!!!
Nu, dar când vine vorba de lucruri, îți place foarte mult să te plângi.
acest scenariu este grozav.
Sper că vor continua să publice scenarii. Ele îi ajută pe cei dintre noi care trec la Linux să fie mai productivi în timp și să reducă timpul de învățare.
😀 Vă mulțumesc pentru comentariu.
În curând voi publica un alt sfat despre bash 😉
În ceea ce priveşte
multumesc nebunie! Într-o zi voi întoarce favorurile pe care mi le oferă camarazii acestei frumoase comunități Linux!
Cum pot copia conținutul mai multor fișiere jurnal și îl plasez într-un singur fișier,,,, automat la fiecare 5 minute, ținând cont de,,,,, că conținutul fișierelor de copiat este măsurat constant
Recomandarea mea, (sugestia), contribuția ar fi... Creați o condiție ca la fiecare 5 minute să verifice fișierul sau fișierele, fie cu:
* ultimul acces = atime
* ultima modificare = mtime
* ultima modificare a informațiilor = ctime
În consecință, dacă există vreo modificare în fișiere, grupați-le și/sau citiți-le (cat) și trimiteți-le > fișiere jurnal.
Acesta este un exemplu clar, o chestiune de testare, încercare, verificare și modificare.
Se testează pluginul cache...
Informații foarte bune, adevărul este că mi-a fost foarte utilă, fac un proiect mare (evident că este fictiv, pentru că este de la studio) și această informație mi-a venit foarte la îndemână.
Vă mulțumesc foarte mult!
Cum ai face un script shell care:?
Solicitați utilizatorului să specifice numele directorului de backup
Solicitați locația în care veți face backup pentru director.
Includeți data de rezervă
Buna,
Cu „citește” pot cere utilizatorului toate acele date, apoi le atribui variabilelor și gata.
Scrie-mi pe e-mail dacă ai întrebări: kzkggaara[at]desdelinux[dot]net
În ceea ce priveşte
PS: Data copiei de rezervă este deja inclusă în script.
prezentați un script mai simplu pentru a face backup la folderele din Ubuntu și transferați-le prin ftp pe alt server, mulțumesc
Bună ziua, cum fac o copie de rezervă a întregului sistem de operare Linux și o trimit pe alt computer. Aș aprecia atenția ta, mulțumesc mult!!
Îmi poți trimite scriptul pe e-mail? fvaldettaro@gmail.com te rog.
Ați putea vă rog să-mi trimiteți scenariul pe e-mailul meu, vă mulțumesc un milion, salutări.
Buna dimineata prietene, cred ca ai o problema cu subdomeniul "paste" pentru ca verificam niste coduri/scripturi publicate care duc la paste.desdelinux și toți mă redirecționează către blog.desdelinux.
Da, nu este posibil să accesați script-ul deoarece este lipit. Vă redirecționează, îl puteți încărca în altă parte?
A fost rezolvată problema la obținerea scriptului?
Mulţumesc.
S-a rezolvat, acum puteți accesa codurile
Acum da, multumesc!
Bună ziua, aș dori să pot descărca scriptul, ar fi posibil să-l încărc din nou, acum nu este disponibil
Buna,
Foarte buna contributia! Aș putea să vă cer să descărcați scriptul? Mulțumesc frumos 🙂