User Tools

Site Tools


linux:backup.sh

backup.sh

add integration with AWS Simple Email Service to send backup report.
See: AWS KB
[✓ koen, 2019-12-16]tijdstempel beetje herwerken naar Europees formaat.

context

dit document beschrijft de werking van het script backup.sh Dit script maakt een eenvoudige bestandsbackup en upload die naar een Amazon S3 bucket of een NFS host.

werking

backup

  1. in essentie 1 loop waarbij per applicatie volgende bewerkingen worden uitgevoerd:
    1. maken van een TAR-bestand
    2. comprimeren van dat TAR-bestand
    3. upload van dat TAR.GZ-bestand naar S3 bucket of NFS host
  2. 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 
    ...
  3. 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 
  4. s3 bucket upload:
    1. vereist pakket awscli
    2. 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:

  1. lijst de bestanden op in je S3 bucket:
    aws s3 ls s3://<bucket> --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 
  2. download het bestand:
    aws s3 cp s3://<bucket>/<hostname>/dokuwiki_17102019_1307.tar.gz

installatie

  1. installeer AWS cli
  2. download het script vanaf github:
    cd /usr/local/bin && git clone https://github.com/kveys/backup.git
  3. 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
  4. maak een bestand onder apps:
    1. naam: applicatie die je wilt backuppen
    2. inhoud: directories om te backuppen

testen

  1. start het script:
    /usr/local/bin/backup/backup.sh 
  2. open het logbestand en kijk na
  3. kijk of het bestand in S3 bucket staat:
    aws s3 ls s3://<bucket> --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

linux/backup.sh.txt · Last modified: 2024/11/16 18:14 by 127.0.0.1