1,重启tomcat 脚本:
pid=`ps -ef|grep tomcat |grep -v grep |awk '{print $2}'`
##取tomcat的进程号,awk处理字符串 ,取一行的第2列,是tomcat进程号,grep -v grep 是去掉grep自身启动的进程号,1旁边的点`,括起来,代表是命令,取到的进程号赋给pid这个变量
if ${pid}
then
kill -9 ${pid}
echo "tomcat stop" ##打印一条语句出来
sh /usr/tomcat/bin/start.sh
tail -f /usr/tomcat/bin/logs/catalina.out
else
echo "tomcat is not running"
fi
2,备份日志的脚本
src_path='/opt/logs/access_log' #定义源路径
tar_path='/tmp/logs/' #定义目标路径
time=`date+%Y%m%d%H%M%S` # 定义time变量, 执行后面的命令获取一个当前时间
cp -rf ${src_path} ${tar_path}access_log_${time} >${src_path} # 复制文件后, 通过重定向把src_path下的文件清空
crontab -e
59 23 * * * sh /tmp/bak_log.sh #脚本写到bak_log.sh中,然后每天执行
注:
- shell中变量,系统是通过$来识别的,加不加{} 花括号,都可以识别为变量,为了编程规范最好加上;
- 重定向有两种:
> 单个箭头, 不论箭头左边的命令执行是否成功,都会删除箭头右边的文件,重新建立一个,所以可以用于删除文件内容
>> 双箭头,是追加模式,不会清除原来的内容