Pagina 1 van 1

BASH-script voor website backup

Geplaatst: 05 okt 2021, 01:01
door meon
Omdat ik niet meer aan onze Duvel-server geraak ben ik ook de backup-scripts kwijt die Sub Zero destijds gemaakt heeft voor het backuppen van Userbase.

Hoe ik een tarball maak, mysqldump moet gebruiken lukt me nog wel en ook de files extern sftp'en zal me wel terug lukken, maar wat ik niet kan is filerotatie/retentie op die logfiles. Ik ken gewoon niet genoeg van Linux-commando's.

Ik heb al eens gezocht naar kant-en-klare scripts, maar die zijn precies niet zo beschikbaar, of ik kon ze niet interpreteren.
Wie is hier vlot met bash om een simpel backupscript in mekaar te flansen?

Inhoud, grofweg:
tgz maken van de webroot
mysqldump van geselecteerde database, bij voorkeur pipen via bzip2
gegenereerde archief-filenames moet datum en tijd in staan van generatie
files lokaal gedurende X dagen bijhouden
sftp'en naar externe host
files daar ook gedurende X dagen bijhouden

Waarom bij het éne tar + gzip en het andere bzip2 vraag je je misschien af? Ik heb beide voor beide destijds geprobeerd en die combinatie gaf de kleinste files als resultaat :-)

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 06:54
door GuntherDW
Filerotatie/retentie op logfiles is iets wat afhankelijk is van de logging daemon die je eigenlijk gebruikt.
Indertijd (of op non-systemd ditro's dus) is dat iets wat vaak afgehandeld werd door "logrotate".
Dat moest dan ook vaak apart geinstalleerd worden.

Het is een beetje kijk/configwerk indien je wat custom dingen draait maar vaak is het enablen en runnen van deze service voldoende.
Tenzij je hier dan logs voor langer dan een maand wil bijhouden zijn de defaults vaak sane genoeg.

Maar ook in tijden van systemd is het nog altijd logrotate dat hiervoor zorgt. Best kijk je dus even na of het al preinstalled is (wat het zou moeten zijn), en enable je die service als dat nog niet het geval is.
Daarna kan je dan in /etc/logrotate.d/ die dingen nakijken en/of aanpassen/schrijven. Deze configs wijzen vaak genoeg eigenlijk zichzelf uit :)

Trouwens, qua compressie, gezien we nu meer "oomph", hebben, en geen 10 jaar oude bak, misschien kunnen we iets moderner gaan en xz gebruiken voor compressie? Dan kan je gebruik maken van de hoeveelheid cores die je hebt in je systeem voor de compressie, waar dat bij bzip2/gzip vaak met apart geinstalleerde apps moest welke soms niet altijd compliant archives maakten.

"Kant en klare" backupscripts voor webhosting ken ik echter niet, dit doe ik altijd manueel eigenlijk, zoals je het zelf al vermeldde.
Met de functie die je zei dat je nodig hebt denk ik niet echt dat het te ingewikkeld hoeft te zijn.

Al check je best natuurlijk zo nu en dan of je backups natuurlijk nog altijd goed draaien en deze naar offsite gestuurd worden.

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 10:23
door Nob
Userbase draait toch op een vps nu, is het dan niet veel gemakkelijker om snapshots van die vps te nemen?

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 10:25
door devilkin
Daar ben je niet veel mee als je een restore elders moet doen, of je hosting platform offline is.

Ik script dit ook zelf om backups te trekken vanaf shared hosting platformen... Locale cron die een tarball klaarzet, en dan op m'n nas een cronjob die die gaat overtrekken.

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 10:30
door meon
Er is een verschil tussen backups voor DR-doeleinden (snapshots) en backups voor content-doeleinden :-)

En Userbase draaide voorheen ook al als vps, via Xen.

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 10:52
door glorang
Kan je niet gewoon rdiff-backup gebruiken ? Heb je onmiddelijk alles van backup, scp, retentie, filenames en laatste backup staat atijd klaar.

Ik kan je er zeker wel mee opweg helpen als je wilt!

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 13:02
door Sasuke
In je script volgende regel toevoegen:

find /path/folder/*.tgz -mtime +5 -exec rm {} \;

De +5 is het aantal dagen dat je wil behouden. Werkt op elke distro

Re: BASH-script voor website backup

Geplaatst: 05 okt 2021, 14:22
door Nob
meon schreef:Er is een verschil tussen backups voor DR-doeleinden (snapshots) en backups voor content-doeleinden
Uw content zit toch in die snapshots? Als je de content dan echt nodig hebt, kan je die daar toch makkelijk uit halen?

Want allé, eerst zelfs kijken naar het verschil tussen gzip en bzip2 in grootte, maar dan wel ineens zowel snapshots als content backups maken?

Soit, doe natuurlijk wat je niet laten kunt, hoe meer backups hoe beter, maar er zijn nog andere zaken die in orde moeten komen, waar ik niets van hoor.
Wanneer gaat de meeting door bvb?