日志切割:
function rotate() { logs_path=$1 echo Rotating Log: $1 cp ${logs_path} ${logs_path}.$(date -d "yesterday" +"%Y%m%d") > ${logs_path} rm -f ${logs_path}.$(date -d "7 days ago" +"%Y%m%d") } for i in $* do rotate $i done
将错误输出重定向到文件并添加时间等注释,并且不影响正常命令的执行(相当于把错误赋值给变量)
for i in 11.py xiao/22.py do a=`touch $i 2>&1` [ $? -eq 0 ] || echo "`date +%F__%T` : $a" >err.log done
脚本目的:在全集中找子集的补集,适用于本应该全集这么多,而实际上缺少的部分。两个文件做对比,有个文件少了哪些行的内容。
#cat hostbuji.sh #!/bin/bash quanji=$1 ziji=$2 [ $# -ne 2 ] && echo -e "usage: sh $0 quanji ziji 脚本目的:在全集中找子集的补集,适用于本应该全集这么多,而实际上缺少的部分。" && exit 1 for i in `cat ${quanji}` do flag=0 for j in `cat ${ziji}` do if [ ! "$i" == "$j" ] then continue else flag=1 fi done [ "$flag" == 0 ] && echo $i done