Puncte:0

Ubuntu Server Backup Script

drapel co

Am nevoie de ajutor pentru a regla un script pentru a efectua copii de rezervă ale sistemului meu.

Așa că am un server 20.04 în funcțiune, din când în când, când fac niște actualizări/modificări, strica ceva și pierd ceva timp pentru a corecta problemele. La început m-am gândit să folosesc RAID 1, dar apoi mi-am dat seama că dacă sparg originalul de rezervă va avea aceeași problemă.

Așa că, după ce m-am gândit, am făcut o copie dd a discului original (#1) pe altul (#2) și l-am lăsat pe #2 conectat, dar nemontat. La început m-am gândit să las discul deconectat și cu ajutorul unui suport bootabil, fac un nou backup dd... Dar asta nu mi se pare foarte profesionist. Așa că am decis să fac un script care să monteze hd-ul #2, să apelez la rsync și, la final, să demontăm

Va funcționa asta? Discul este o copie completă sector cu sector, iar după acest punct, va avea modificările de la #1 reflectate în #2 cu rsync.

Nu am nicio experiență în construirea de scripturi shell, așa că am nevoie de ajutor pentru a-mi regla.

Trebuie să montez numărul 2, să verific dacă este într-adevăr montat (verificați dacă folderul de montare nu este gol?), să rulez rsync și să scriu jurnalul complet într-un fișier și, în final, să demontez. Asta am acum:

#! /bin/bash
# -- VARS
MOUNT_DEV='/dev/sdb2'
MOUNT_FOLDER='/mnt/hdd_backup'
SOURCE='/*'
DESTINATION='/mnt/hdd_backup/'
LOG_FILE='/home/jnap/external/rsync.log'

echo „Montați hdd-ul de rezervă”
montați $MOUNT_DEV $MOUNT_FOLDER
ecou „Montarea terminată”

#Verificați dacă este într-adevăr montat? dir nu este gol? 
echo „Run Rsync - DryRun only to test” 
rsync -aAHXv --dry-run --delete $SOURCE $DESTINATION --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*, /media/*,/lost+found,/snap,/home/jnap/external/*,var/lib/lxcfs/*} > $LOG_FILE
ecou „Finished Rsync”

echo „Demontează hdd-ul de rezervă”
montați -l $MOUNT_FOLDER
ecou „Demontarea terminată”

La început, aceasta este o muncă manuală. Dar mai târziu mă gândesc să creez un job cron pentru el, poate rula o dată pe săptămână în weekend.

Mulțumiri

sudodus avatar
drapel jp
Cu opțiunea `rsync` `--delete` aș spune că este un script de sincronizare, nu un script de rezervă. Poate ar trebui să luați în considerare și `--backup` (și poate `--backup-dir=`), pentru a salva *versiunile* ale fișierelor, care sunt modificate sau șterse.
drapel co
Este ca o alternativă RAID, nu am nevoie de versiunile anterioare, nici de fișiere șterse. Am nevoie doar de o copie a ultimei versiuni funcționale a sistemului.
sudodus avatar
drapel jp
Văd, atunci mi se pare bine (dar nu l-am testat și nici nu l-am analizat într-un mod foarte detaliat).Folosesc `rsync`, așa că sunt obișnuit să-l rulez cu 'multe' opțiuni și cred că opțiunile tale arată OK. Este o idee bună să începeți prin a rula o execuție uscată și să priviți cu atenție rezultatul înainte de a rula procesul real de copiere :-)
James S. avatar
drapel de
Acest lucru pare într-adevăr ca și cum ați încerca să faceți instantanee periodice ale sistemului de fișiere, astfel încât să puteți reveni la un instantaneu în cazul unui dezastru. Există vreun motiv pentru care nu puteți utiliza capabilitățile de instantanee LVM?
drapel co
@JamesS. nu stiu nimic despre LVM... O sa arunc o privire. Mulțumiri
James S. avatar
drapel de
Există un instrument numit „snapper”, care poate fi ceea ce căutați: http://snapper.io/overview.html
bac0n avatar
drapel cn
Cred că excluderea ar trebui să fie `--exclude={'/dev/*','/proc/*'}`, nu doriți nicio extindere globală
drapel co
@JamesS. Am văzut deja acel instrument, dar deocamdată mă țin doar de rsync, când am ceva timp în plus, voi verifica snapper-ul și dacă se potrivește nevoilor mele, nu am nevoie de instantanee, cel puțin cred că nu.. Oricum, mulțumesc pentru intrări.
drapel co
@bac0n mulțumesc pentru informații.
James S. avatar
drapel de
Adică, ceea ce descrii aici nu sunt „backup-uri” - sunt instantanee.
drapel co
@JamesS. bine, ăsta e termenul corect :) Dar scopul principal este să am doar o copie de rezervă/snapshot/copie a sistemului atunci când m-am hotărât, pierzând-o pe cea anterioară... Mulțumiri

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.