BASH-script voor website backup

Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16519
Lid geworden op: 18 Feb 2003
Twitter: meon
Locatie: Bree
Bedankt: 747 keer
Recent bedankt: 9 keer
Uitgedeelde bedankjes: 554 keer
Contact:

BASH-script voor website backup

Berichtdoor meon » 1 week 6 dagen 2 uur geleden (05 Okt 2021, 01:01)

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 :-)

GuntherDW
Elite Poster
Elite Poster
Berichten: 1139
Lid geworden op: 11 Mei 2007
Locatie: zwijndrecht
Bedankt: 78 keer
Uitgedeelde bedankjes: 12 keer
Contact:

Re: BASH-script voor website backup

Berichtdoor GuntherDW » 1 week 5 dagen 20 uur geleden (05 Okt 2021, 06:54)

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.

Gebruikersavatar
Nob
Erelid
Erelid
Berichten: 3355
Lid geworden op: 09 Sep 2002
Locatie: Belgium, Bever
Bedankt: 108 keer
Uitgedeelde bedankjes: 86 keer
Contact:

Re: BASH-script voor website backup

Berichtdoor Nob » 1 week 5 dagen 16 uur geleden (05 Okt 2021, 10:23)

Userbase draait toch op een vps nu, is het dan niet veel gemakkelijker om snapshots van die vps te nemen?

Gebruikersavatar
devilkin
Elite Poster
Elite Poster
Berichten: 4382
Lid geworden op: 17 Mei 2006
Bedankt: 289 keer
Recent bedankt: 5 keer
Uitgedeelde bedankjes: 484 keer
Contact:

Re: BASH-script voor website backup

Berichtdoor devilkin » 1 week 5 dagen 16 uur geleden (05 Okt 2021, 10:25)

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.
Telenet All-Internet & TV -- using CV8560E & OPNsense on PCEngines APU2E4
Proximus & Mobile Vikings -- Using OnePlus 8 Pro (ROM: Stock)

Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16519
Lid geworden op: 18 Feb 2003
Twitter: meon
Locatie: Bree
Bedankt: 747 keer
Recent bedankt: 9 keer
Uitgedeelde bedankjes: 554 keer
Contact:

Re: BASH-script voor website backup

Berichtdoor meon » 1 week 5 dagen 16 uur geleden (05 Okt 2021, 10:30)

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.

glorang
Starter
Starter
Berichten: 14
Lid geworden op: 04 Mei 2012
Bedankt: 20 keer
Uitgedeelde bedankjes: 1 keer

Re: BASH-script voor website backup

Berichtdoor glorang » 1 week 5 dagen 16 uur geleden (05 Okt 2021, 10:52)

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!

Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4321
Lid geworden op: 13 Aug 2003
Locatie: Vlaanderen
Bedankt: 257 keer
Recent bedankt: 8 keer
Uitgedeelde bedankjes: 121 keer
Contact:

Re: BASH-script voor website backup

Berichtdoor Sasuke » 1 week 5 dagen 14 uur geleden (05 Okt 2021, 13:02)

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
Who the fxxk is General Failure and why is he reading my hard disk ?

Gebruikersavatar
Nob
Erelid
Erelid
Berichten: 3355
Lid geworden op: 09 Sep 2002
Locatie: Belgium, Bever
Bedankt: 108 keer
Uitgedeelde bedankjes: 86 keer
Contact:

Re: BASH-script voor website backup

Berichtdoor Nob » 1 week 5 dagen 12 uur geleden (05 Okt 2021, 14:22)

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?


Terug naar “Web-en applicatie-ontwikkeling”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast