监控文件大小,然后打包 的脚本

回复 收藏
本帖最后由 pykihwfn 于 2014-12-18 09:10 编辑

#!/bin/bash
#writen by alex on 2014.12.17 about tar
cd /zxw
siz=`du -sm /zxw/emma.txt|awk -F " " '{print $1}'|sed 's/[a-zA-Z]//g'` #查看emma.txt文件的大小
if [ $siz >30 ]    #如果文件大于30M
then
        tar -czvf /sh/`date +%F"-"%H:%M:%s`.tar.gz /zxw/emma.txt    #如果文件大于30M则打包至其他目录下
        rm -f /zxw/emma.txt   #删除源文件
fi

写到计划任务。。
DONE。
2014-12-17 11:02 举报
已邀请:
0

阿铭 管理员

赞同来自:

你这个脚本有点bug,如果du出来是1G怎么办? 最好指定一下单位, du -sm
0

pykihwfn

赞同来自:

本帖最后由 pykihwfn 于 2014-12-17 12:06 编辑
阿铭 发表于 2014-12-17 11:46
你这个脚本有点bug,如果du出来是1G怎么办? 最好指定一下单位, du -sm

谢谢铭哥指点。。。。。大意了。。。。
0

wuhen

赞同来自:

awk -F " " '{print $1}'|sed 's/[a-zA-Z]//g'什么作用呢
0

pykihwfn

赞同来自:

wuhen 发表于 2014-12-17 16:18
awk -F " " '{print $1}'|sed 's/[a-zA-Z]//g'什么作用呢

awk -F " " '{print $1}'   这个取得前面“emma.txt”文档的大小,比如是:50M ,后面的 sed 's/[a-zA-Z]//g' 是把50M 里的字母  M  替换成空,所以取得的值就是50.这样就可以便于比较了。
0

wuhen

赞同来自:

本帖最后由 wuhen 于 2014-12-18 21:53 编辑

你du -sn不会出单位的默认已经是M了
0

崔志朋

赞同来自:

[root@cuizhipeng ~]# du -sm binfile|awk -F" "  '{print $1}'
51
不用后边的一串呀

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: