====== backup.sh======
[[linux:linux|{{ :linux:linux_tux.png?120|}}]]
add integration with AWS Simple Email Service to send backup report. \\
See: [[https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp-client-command-line.html|AWS KB]] \\
tijdstempel beetje herwerken naar Europees formaat.
===== context=====
dit document beschrijft de werking van het script [[https://github.com/kveys/linux/blob/master/backup.sh|backup.sh]]
Dit script maakt een eenvoudige bestandsbackup en upload die naar een Amazon S3 bucket of een NFS host.
===== werking =====
==== backup====
- in essentie 1 loop waarbij per applicatie volgende bewerkingen worden uitgevoerd:
- maken van een TAR-bestand
- comprimeren van dat TAR-bestand
- upload van dat TAR.GZ-bestand naar S3 bucket of NFS host
- resultaat van elke bewerking wordt weggeschreven naar logbestand.
...
17102019_1207;script start
processing dokuwiki
17102019_1207 TAR: added /var/www/dokuwiki/conf successfully
17102019_1207 TAR: added /var/www/dokuwiki/data/pages successfully
17102019_1207 TAR: added /var/www/dokuwiki/data/media successfully
17102019_1207 GZIP: gzipped TARfile successfully
17102019_1207 S3: uploaded TAR.GZfile successfully
17102019_1207;script end
...
- elke appliatie heeft een eigen bestand onder ~/hosts waarin de mappen staan die gebackupt moeten worden.
/var/www/dokuwiki/conf
/var/www/dokuwiki/data/pages
/var/www/dokuwiki/data/media
- s3 bucket upload:
- vereist pakket **awscli**
- toegangsgegevens voor de S3 bucket worden gedefinieerd ahv een **IAM role**
==== restore ====
Bestaat erin het juiste tar.gz bestand uit je S3 bucket te vissen:
- lijst de bestanden op in je S3 bucket: aws s3 ls s3:// --recursive
2019-10-17 10:03 1018942 s3://backup.bucky/dokuwiki_17102019_1203.tar.gz
2019-10-17 10:07 1018942 s3://backup.bucky/dokuwiki_17102019_1207.tar.gz
2019-10-17 11:07 1020106 s3://backup.bucky/dokuwiki_17102019_1307.tar.gz
2019-10-17 10:03 71 s3://backup.bucky/lodudoe_17102019_1203.tar.gz
- download het bestand:aws s3 cp s3:////dokuwiki_17102019_1307.tar.gz
===== installatie =====
- installeer [[installatie:aws_cli|AWS cli]]
- **download** het script vanaf github: cd /usr/local/bin && git clone https://github.com/kveys/backup.git
- open /usr/local/bin/backup/backup.sh en voeg gegevens van **S3 bucket** of **NFS host** toe: # S3 specific
s3bucket="bckp151219"
# NFS specific
NFSHOST=nas
NFSDIR=backup
NFSMNT=/mnt/backup
- maak een bestand onder apps:
- naam: applicatie die je wilt backuppen
- inhoud: directories om te backuppen
===== testen =====
- start het script:
/usr/local/bin/backup/backup.sh
- open het logbestand en kijk na
- kijk of het bestand in S3 bucket staat:aws s3 ls s3:// --recursive
2019-10-17 10:03 1018942 s3://backup.bucky/dokuwiki_17102019_1203.tar.gz
2019-10-17 10:07 1018942 s3://backup.bucky/dokuwiki_17102019_1207.tar.gz
2019-10-17 11:07 1020106 s3://backup.bucky/dokuwiki_17102019_1307.tar.gz
2019-10-17 10:03 71 s3://backup.bucky/lodudoe_17102019_1203.tar.gz
===== meer info =====
* [[aws:s3_buckets|S3 buckets]]
* [[aws:s3cmd|s3cmd]]
{{tag>Linux scripting}}