zoukankan      html  css  js  c++  java
  • 简单的shell语句

    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中变量,系统是通过$来识别的,加不加{} 花括号,都可以识别为变量,为了编程规范最好加上;
    • 重定向有两种:

          >  单个箭头, 不论箭头左边的命令执行是否成功,都会删除箭头右边的文件,重新建立一个,所以可以用于删除文件内容

          >> 双箭头,是追加模式,不会清除原来的内容

  • 相关阅读:
    Mysql-存储过程-批量增加数据
    VIM
    查看Chrome浏览器同步数据状态工具
    Tomcat运行配置
    mysql的engine不同,导致事物回滚失败的问题
    git在MAC,Linux的terminator(命令行)下自动显示当前分支
    SED单行脚本快速参考(Unix 流编辑器)
    awk中使用shell的环境变量
    Grep Sed Awk
    shred_linux_unix
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/8259414.html
Copyright © 2011-2022 走看看