[工具]linux应用log迁移

#!/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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值