pleroma/aws-s3-backup/files/pleroma-s3-backup.sh
changeset 157 5e5c9e605142
parent 109 646e4b395cc8
equal deleted inserted replaced
156:ebd8a21a0e62 157:5e5c9e605142
     1 #!/bin/bash
     1 #!/bin/bash
     2 
     2 
     3 INSTANCE=$1
     3 INSTANCE=$1
     4 DATE=`date --iso-8601`
       
     5 
     4 
     6 BUCKET="pleroma-${INSTANCE//_/-}-backup"
     5 BUCKET="pleroma-${INSTANCE//_/-}-backup"
     7 BACKUP_DIR="/tmp/s3-backup/$BUCKET"
     6 BACKUP_DIR="/tmp/s3-backup/$BUCKET"
     8 BACKUP_TAR="/tmp/s3-backup/$BUCKET-$DATE.tgz"
     7 BACKUP_TAR="/tmp/s3-backup/$BUCKET.tgz"
     9 
     8 
    10 DB_NAME="pleroma_$INSTANCE"
     9 DB_NAME="pleroma_$INSTANCE"
    11 CONFIG="/etc/pleroma/$INSTANCE.config.exs"
    10 CONFIG="/etc/pleroma/$INSTANCE.config.exs"
    12 
    11 
    13 UPLOADS_DIR=`grep uploads $CONFIG | cut -d '"' -f 2`
    12 UPLOADS_DIR=`grep uploads $CONFIG | cut -d '"' -f 2`
    21 cp -r $UPLOADS_DIR "$BACKUP_DIR/"
    20 cp -r $UPLOADS_DIR "$BACKUP_DIR/"
    22 cp -r $STATIC_DIR "$BACKUP_DIR/"
    21 cp -r $STATIC_DIR "$BACKUP_DIR/"
    23 
    22 
    24 tar -zc -f $BACKUP_TAR $BACKUP_DIR
    23 tar -zc -f $BACKUP_TAR $BACKUP_DIR
    25 aws s3 mb "s3://$BUCKET/"
    24 aws s3 mb "s3://$BUCKET/"
       
    25 aws s3api put-bucket-versioning --bucket "$BUCKET" --versioning-configuration Status=Enabled
       
    26 aws s3api put-bucket-lifecycle-configuration --bucket "$BUCKET" --lifecycle-configuration "file:///usr/local/share/pleroma-s3-backup-lifecycle.json"
    26 aws s3 cp $BACKUP_TAR "s3://$BUCKET/"
    27 aws s3 cp $BACKUP_TAR "s3://$BUCKET/"
    27 
    28 
    28 rm $BACKUP_TAR
    29 rm $BACKUP_TAR
    29 rm -r $BACKUP_DIR
    30 rm -r $BACKUP_DIR