Last active
May 5, 2024 09:08
-
-
Save yazanmonshed/35c2df2b1baf322815bad67a11b8e7c6 to your computer and use it in GitHub Desktop.
This file contains 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 | |
# GLOBAL VARABILES | |
PATHFILES=$1 | |
PATHBACKUPS=$2 | |
FILEBACKUP=$3 | |
JOBNAME=$4 | |
DATE=$(date "+%d-%m-%Y-%H-%M-%S") | |
# dir path to backup such as /var/www/ | |
DIRFILES="${PATHFILES}/" | |
# dir to store backup | |
DIRBACKUPS="${PATHBACKUPS}/$JOBNAME/" | |
# dir name such as 'html' inside /var/www/ | |
FILEBACKUPS="${FILEBACKUP}/" | |
#check if jenkins failed | |
echo "check if backups path $DIRBACKUPS exsist..." | |
if [ ! -d $DIRBACKUPS ]; then | |
echo "$DIRBACKUPS not found...creating..." | |
mkdir -p $DIRBACKUPS | |
fi | |
#[ -z $FILEBACKUPS ] && exit 1 | |
cd $DIRFILES && tar -zcvhf $DIRBACKUPS/${JOBNAME}_site_${DATE}.tar.gz $FILEBACKUPS | |
# Check if Jenkins Job FAUILED!! | |
if [ $? -eq 0 ]; then | |
echo "backup files is SECESSFULLY!!" | |
else | |
echo "backups files is FAILED!!" | |
exit 1 | |
fi | |
echo "upload backup files to AWS S3 bicket..." | |
# for test only | |
export AWS_ACCESS_KEY=$5 | |
export AWS_SECRET_ACCESS=$6 | |
# using for other servers | |
#export AWS_ACCESS_KEY_ID=$5 | |
#export AWS_SECRET_ACCESS_KEY=$6 | |
#export AWS_DEFAULT_REGION | |
aws s3 sync $DIRBACKUPS s3://home/backups/$JOBNAME | |
if [ $? -eq 0 ]; then | |
echo "upload to S3 is SECCSSFULY!!!" | |
else | |
echo "upload to s3 is FAUILED!!!" | |
exit 1 | |
fi | |
# delete backup older then 3 days | |
#find $DIRBACKUPS -mtime +3 -exec rm {} \; | |
find $DIRBACKUPS/*tar.gz -exec rm {} \; | |
if [ $? -eq 0 ]; then | |
echo "retaind backups is SECCSSFULY!!" | |
exit 0 | |
else | |
echo "retaind backups is failed!!!" | |
exit 1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment