博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

剑心通明的资料库

文章均为转载,本人不负因参考它所导致的一切后果,请谨慎参考!如您的文章不愿被转载,请点击此处联系本人!
  jxtm.cublog.cn

关于作者
姓名:剑心通明
职业:高级工程师(专修灵魂^_^)
年龄:20出头30不到
位置:网络上一节点
个性介绍:努力学习每一天!
倾心打造:http://www.bsdlover.cn
http://bbs.bsdlover.cn
BSD爱好者的乐园!
|| << >> ||
我的分类


搜索体积较大的文件,自动备份的脚本
#!/bin/sh
########################################################################
# Desc: thie shell script is used to monitor file size,and backup it.
# Author:swingcoder@msn.com
# Date: 2004-09-06
#########################################################################

#Function: process the backup action.

backup()
{
AVASIZE=`df  .|grep -v Filesystem|awk -F" " '{print $4}'`
AVASIZE=`expr $AVASIZE \* 1000`

#echo $1

for F in $1
do
MBASENAME=`basename $F`
MDIRNAME=`dirname $F`
CURFILESIZE=`ls -l $F|grep -v total|grep -v "log.[0-9]\{4\}"|awk -F' ' '{print $5}'`
#***** IF FILTING SOME NOT VALID FILE,YOU MUST NOT COMPARE BELOW ******
if [ "$CURFILESIZE" == "" ];then
   continue;
fi
echo $AVASIZE $CURFILESIZE $MBASENAME $MDIRNAME
if [ $CURFILESIZE -lt $AVASIZE ];then
  echo "--- `date +%Y-%m-%d' '%T`: FOUND SO BIGGER FILE,BEGIN BACKUP ---" >> monitor_file_size.log
  cp $F $F".`date +%Y_%m_%d_%H_%M_%S`"
  #rm -f $F
  >$F  
  echo " File $F BACKUP TO $F.`date +%Y_%m_%d_%H_%M_%S`, File Size: $CURFILESIZE" >> monitor_file_size.log

  echo "--- `date +%Y-%m-%d' '%T`: END OF BACKUP ---" >> monitor_file_size.log
  echo "" >> monitor_file_size.log
else
  echo "WARNING: The partition has not enough space !"
fi
done;
}

if [ $# -ne 2 ]; then
echo "Usage: `basename $0` MONITOR_PATH MONITORFILE_SIZE(Mbytes)"
exit 0
fi

MPATH=$1
MSIZE=`expr $2 \* 1024`


backup "`find $MPATH -type f -size +$MSIZE -print`"

 原文地址 http://www.bsdlover.cn/html/28/n-828.html
发表于: 2008-05-03,修改于: 2008-05-03 10:58,已浏览296次,有评论0条 推荐 投诉


网友评论
 发表评论