====== 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}}