Linux/UNIX脚本编程学习笔记(0728)

来源:互联网 发布:网络层的数据帧结构 编辑:程序博客网 时间:2024/04/29 21:17

一、脚本程序举例

(1)baktar.sh

----------------------------------------------------------------------------------------

#!/bin/sh
source /data1/misc/.bash_profile
# The script be used to  backup the client logs !
LOGDIR=/data1/misc/gyy/doc/log
CURDATE=`date +%Y-%m-%d`
cd $LOGDIR
find ${LOGDIR} -mtime +30 |awk -F "/" '{print $7}'|grep  -v "^\." |xargs rm -rf
find ${LOGDIR} -mtime +7 |awk -F "/" '{print $7}'| xargs tar -czvf ${CURDATE}.log.tar.gz

-----------------------------------------------------------------------------------------

功能:该脚本主要是用来对日志进行压缩备份!

备份原则:

●7天以内的日志不做操作;

●超过30天日志进行删除操作;

●对超过7天以外30天以内的日志进行压缩操作;


LOGDIR:要压缩日志的目录

CURDATE:当前日期

awk -F "/" '{print $7}':使用awk筛选出日志名称

grep  -v "^\.":找出除以点开头的文件


特别注意:

find ${LOGDIR} -mtime +30 |awk -F "/" '{print $7}'|grep  -v "^\." 这句只是筛选出除 以点开头的文件,而不包含目录。

所以如果在脚本钱不加上cd $LOGDIR的话,xargs rm -rf就不知道去哪个目录删除文件了。


谨慎使用rm  -rf命令!






二、总结


原创粉丝点击