#(注:这部分的内容全都放在了pack.sh文件中)
#注:也可以使用http://linux.chinaunix.net/techdoc/develop/2006/11/22/944526.shtml中讲解的直接下达式来解决,这样,在执行命令时,可以直接传入pack.sh使用的参数,不需要交互式的方式了,即read xxxx.hehe
#用途
# 下面的shell script功能是把某个项目的某个月的日志文件打包,然后删除被打包的源日志文件 #执行shell script方法: # 输入sh pack.sh回车,然后根据提示输入想要打包的项目例如:bdmp,按回车键,
#最后输入日期比 如"2008-06",按回车键 #注意: # 如果在输入日期的时候,仅输入了年份,如2008,则此shell script将对2008年的所有日志打包,然后删除被打包的源日志文件。 # # #shell script用例讲解: #10. tar and gzip # a. 把当前目录下 staging_xxx_log.log.2008-05 开头的文件,压缩打包为 staging_xxx_log_2008-05.tar.gz # tar -zcvf staging_xxx_log_2008-05.tar.gz taging_xxx_log.log.2008-05* # b. 把当前目录下 lib 目录下的文件压缩为 lib.tar.gz # tar -zcvf lib.tar.gz lib # c. 检查当前目录下匹配BBP_MLM_log_2007-*.tar.gz 格式的文件的压缩情况 # gzip -tv BBP_MLM_log_2007-*.tar.gz #11. rm 删除文件或目录 # 删除当前目录下 xxx_log.log.2008-05- 开头的文件. # rm xxx_log.log.2008-05-* # # # echo "What you are doing is packing specified month's log of a project" echo "Please input project name and click <enter> key " read project echo "Please input time(required time format is yyyy-mm) and click <enter> key " read time
tar -zcvf ${project}_${time}.tar.gz ${project}_log.log.${time}*
rm ${project}_log.log.${time}*
本文介绍了一个用于打包指定项目某个月份的日志文件并随后删除源日志文件的Shell脚本。该脚本通过用户交互获取项目名及日期,使用tar命令进行日志打包,并使用gzip进行压缩,最后利用rm命令删除原始日志文件。
33万+

被折叠的 条评论
为什么被折叠?



