Created
January 21, 2021 01:21
-
-
Save anil3a/68eecf99e0fe700cb4f17cd7a3cbfacc to your computer and use it in GitHub Desktop.
Linux Bash script to backup file to Amazon AWS S3 bucket with S3cmd command
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Usage | |
# ./backup_script.sh | |
# logger used for adding log to syslog | |
# CONSTANT | |
################### | |
ROOT_DIR=/var/www/prajapatianil.com.np/ | |
UPLOAD_FOLDER=$ROOT_DIR/public_html/uploads | |
MEDIA_FOLDER=$ROOT_DIR/public_html/media | |
UPLOAD_FILENAME='uploads.tar.gz' | |
MEDIA_FILENAME='media.tar.gz' | |
cd $ROOT_DIR | |
if [ -f "$UPLOAD_FILENAME" ] | |
then | |
rm $UPLOAD_FILENAME; | |
fi | |
if [ -f "$MEDIA_FILENAME" ] | |
then | |
rm $MEDIA_FILENAME; | |
fi | |
printf -v DATE '%(%Y-%m-%d)T' -1 | |
# Start | |
##################### | |
# 1. UPLOAD backup | |
logger -s 'Anil Script - Uploads backup started' | |
tar zcfP $UPLOAD_FILENAME $UPLOAD_FOLDER | |
s3cmd put $UPLOAD_FILENAME s3://prajapatianil.com.np/uploads/uploads-$DATE.tar.gz | |
#Remove backup file after upload | |
if [ -f "$UPLOAD_FILENAME" ] | |
then | |
rm $UPLOAD_FILENAME; | |
fi | |
logger -s 'Anil Script - Uploads backup completed' | |
# 2. Media backup | |
logger -s 'Anil Script - Media backup started' | |
tar zcfP $MEDIA_FILENAME $MEDIA_FOLDER | |
s3cmd put $MEDIA_FILENAME s3://prajapatianil.com.np/media/media-$DATE.tar.gz | |
#Remove backup file after upload | |
if [ -f "$MEDIA_FILENAME" ] | |
then | |
rm $MEDIA_FILENAME; | |
fi | |
logger -s 'Anil Script - Media backup completed' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment