#!/usr/bin/env bash
#Mvlog.sh Version0.1
#Create by zhoupeihao
#20151127
AppDirName=`pwd|xargs basename`
LogDirName=logs
NewLogDir=/data/logs
OldLogDir=/$AppDirName/$LogDirName
BackupDir=$NewLogDir/$AppDirName
DelDir=/tmp/Mvlog
checksize() {
echo "{./$LogDirName}:`du -sh ./$LogDirName|awk '{print $1}'`"
echo "{/tmp:`df -hP /tmp|grep -v "Filesystem"|awk '{print $6}'`}:`df -hP /tmp|grep -v "Filesystem"|awk '{print $4}'`"
##check available
CkTmp=`df -P /tmp|grep -v "Filesystem"|awk '{print $4}'`
if [ `du -s ./$LogDirName|awk '{print $1}'` -lt $CkTmp ];
then
echo "OK"
else
echo "Not available"
fi
}
movelog() {
if [[ ! -d $NewLogDir/$AppDirName/$LogDirName && -d ./$LogDirName ]];
then
##movelog
mkdir -p $NewLogDir/$AppDirName
cp -rpv ./$LogDirName $NewLogDir/$AppDirName/
##backup
tar zcf $BackupDir/$LogDirName.`date +%Y%m%d`.tgz ./$LogDirName
##remove
mkdir -p $DelDir/$AppDirName && mv $LogDirName $DelDir/$AppDirName/
##link
ln -s $NewLogDir/$AppDirName/$LogDirName $LogDirName
else
echo " {$NewLogDir/$AppDirName} Dir already exists OR {./$LogDirName} Not found Current Dir"
fi
}
recovery() {
if [[ -d $DelDir/$AppDirName/$LogDirName && -L ./$LogDirName ]];
then
##rm link
rm -rf ./$LogDirName
##moveback
cp -rpv $DelDir/$AppDirName/$LogDirName ./$LogDirName
##rm newlogdir
rm -rf $NewLogDir/$AppDirName $DelDir/$AppDirName
else
echo "Not found remove file OR Current dir is not Link"
fi
}
case "$1" in
movelog)
movelog
RETVAL=$?
;;
recovery)
recovery
RETVAL=$?
;;
checksize)
checksize
RETVAL=$?
;;
*)
echo "Usage: $0 {checksize|movelog|recovery}"
RETVAL=2
;;
esac
exit $RETVAL
#Mvlog.sh Version0.1
#Create by zhoupeihao
#20151127
AppDirName=`pwd|xargs basename`
LogDirName=logs
NewLogDir=/data/logs
OldLogDir=/$AppDirName/$LogDirName
BackupDir=$NewLogDir/$AppDirName
DelDir=/tmp/Mvlog
checksize() {
echo "{./$LogDirName}:`du -sh ./$LogDirName|awk '{print $1}'`"
echo "{/tmp:`df -hP /tmp|grep -v "Filesystem"|awk '{print $6}'`}:`df -hP /tmp|grep -v "Filesystem"|awk '{print $4}'`"
##check available
CkTmp=`df -P /tmp|grep -v "Filesystem"|awk '{print $4}'`
if [ `du -s ./$LogDirName|awk '{print $1}'` -lt $CkTmp ];
then
echo "OK"
else
echo "Not available"
fi
}
movelog() {
if [[ ! -d $NewLogDir/$AppDirName/$LogDirName && -d ./$LogDirName ]];
then
##movelog
mkdir -p $NewLogDir/$AppDirName
cp -rpv ./$LogDirName $NewLogDir/$AppDirName/
##backup
tar zcf $BackupDir/$LogDirName.`date +%Y%m%d`.tgz ./$LogDirName
##remove
mkdir -p $DelDir/$AppDirName && mv $LogDirName $DelDir/$AppDirName/
##link
ln -s $NewLogDir/$AppDirName/$LogDirName $LogDirName
else
echo " {$NewLogDir/$AppDirName} Dir already exists OR {./$LogDirName} Not found Current Dir"
fi
}
recovery() {
if [[ -d $DelDir/$AppDirName/$LogDirName && -L ./$LogDirName ]];
then
##rm link
rm -rf ./$LogDirName
##moveback
cp -rpv $DelDir/$AppDirName/$LogDirName ./$LogDirName
##rm newlogdir
rm -rf $NewLogDir/$AppDirName $DelDir/$AppDirName
else
echo "Not found remove file OR Current dir is not Link"
fi
}
case "$1" in
movelog)
movelog
RETVAL=$?
;;
recovery)
recovery
RETVAL=$?
;;
checksize)
checksize
RETVAL=$?
;;
*)
echo "Usage: $0 {checksize|movelog|recovery}"
RETVAL=2
;;
esac
exit $RETVAL