Skip to main content

DevOps Shell script

Web Server 

#!/bin/sh

# /data/scm/homeplus-club-admin/homeplus-club-admin-web
echo
echo '##### START DEPLOY #####'
echo


echo '##### Set Env #####'
##### JAVA #####
WEBROOT=/data/homeplus/padm
export JAVA_HOME=/app/java/java8
export PATH=$PATH:$JAVA_HOME/bin/
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar
export Finalbackupfiles=5
export DeleteDate=3
PATH=$PATH:$HOME/bin
export PATH
echo " > JAVA_HOME=" $JAVA_HOME
echo " > Final Backup File count=" $Finalbackupfiles
echo " > DeleteDate=" $DeleteDate "day before"
echo " > WEBROOT=" $WEBROOT
echo
echo '1. Backup & Stop'
export NOW=`date +%Y%m%d`
export OLDDAY=$((NOW -$DeleteDate))
export NOWTIME=`date +%H%M`
echo ' > Today = ' $NOW$NOWTIME

cd $WEBROOT
find $WEBROOT -xdev | grep -v 'nas' > $WEBROOT/achiving.list
tar -cf /data/homeplus/backup/homeplus-club-admin/homeplus-club-admin-web/$NOW$NOWTIME.tar -T $WEBROOT/achiving.list
echo ' > Backup file : ' /data/homeplus/backup/homeplus-club-admin/homeplus-club-admin-web/$NOW$NOWTIME.tar
echo '2. Delete ' $DeleteDate ' day ago = ' $OLDDAY ', but must remain ' $Finalbackupfiles ' files on the backup folder'
Totalbackupfiles=`find /data/homeplus/backup/homeplus-club-admin/homeplus-club-admin-web/ -name "*.tar" | wc -l`
echo ' > Total backupfiles(all files) = ' $Totalbackupfiles
echo ' > Final backup files count = ' $Finalbackupfiles
Targetdeletebackupfiles=`expr $Totalbackupfiles - $Finalbackupfiles`
echo ' > Total backup files - Final backup files =' $Targetdeletebackupfiles
BackupAllFiles=(`find /data/homeplus/backup/homeplus-club-admin/homeplus-club-admin-web/ -name "*.tar" -mtime +$DeleteDate -printf "%f\n" | sort -n`)
cnt=1
echo ' > ' $DeleteDate ' day before delete target file list'
for i in "${BackupAllFiles[@]}"
do
        if [ $Targetdeletebackupfiles -ge $cnt ]
        then
                echo "  " $i " , " $cnt " DELETEed !"
                rm /data/homeplus/backup/homeplus-club-admin/homeplus-club-admin-web/$i
        else
                echo "  " $i " , " $cnt " SKIPed !"
        fi
        let cnt=cnt+1
done

echo '3. Delete Web ROOT'
cd $WEBROOT
ls $WEBROOT | grep -v nas | grep -v export | grep -v achiving.list | grep -v somethingspecial | xargs rm -rf
echo ' > Check Web ROOT = '$WEBROOT
echo ' > list ' `ls $WEBROOT`

echo '4. Copy tar to '$WEBROOT
echo ' > cp OOT-jar.tar.gz to '$WEBROOT
cp /data/scm/homeplus-club-admin/homeplus-club-admin-web/target/ROOT-jar.tar.gz $WEBROOT

echo '5. Decompress TAR.GZ'
echo ' > tar -zxvf '$WEBROOT'/ROOT-jar.tar.gz'
cd $WEBROOT
tar -zxf $WEBROOT/ROOT-jar.tar.gz -C $WEBROOT/ --strip-components=1

echo '6. Clear '
echo ' > Delete ROOT-jar.tar.gz and achiving.list in Web ROOT'
cd $WEBROOT
rm -rf $WEBROOT/ROOT-jar.tar.gz
rm -rf $WEBROOT/achiving.list
echo

echo '##### FINISH DEPLOY #####'
echo 'Bye'