• Shell命令


    计划任务相关

      yum -y install crontabs

      /sbin/service crond start //启动服务
      /sbin/service crond stop //关闭服务
      /sbin/service crond restart //重启服务
      /sbin/service crond reload //重新载入配置

      查看crontab服务状态:service crond status

      手动启动crontab服务:service crond start

      查看crontab服务是否已设置为开机启动,执行命令:ntsysv

      没有就加入开机自动启动:免得每次手动启动麻烦:chkconfig --level 35 crond on

      crontab -e

      0 1 * * * /home/shell/cut_log/cut_nginx_log.sh

      service crond reload

    1.read 从键盘读入数据,赋值给变量
        例如: read USERNAME    
    2.sh -x shell脚本  可以查看脚本执行过程

    3.expr 算数运算
        例如: eppr 3 + 5
            expr $var1 - 5
            expr $var1 / $var2  //取整小数点以后的省略
            expr $var3 * 10
            expr `expr 5 + 7` / $var4
            var4=`expr $val1 / $var2`
    4.test 变量测试  测试变量是否相等 是否为空 文件类型
        格式:test 测试条件
        例如:test str1=str2
            test str1!=str2
            test str1
            test -n str1
            test -z str1
            
            test -a file  是否存在
            test -d file 是否目录
            test -w file  是否可写
            
            test -eq 0
        语句:
            if test -d $1 then
                ...
            fi
        简化:
            test -d $1 等价于 [-d $1 ]
    5.流程控制
        if 条件1 then
            命令1
        elif 条件2 then
            命令2
        else
            命令3
        fi
        
        -a 逻辑与 and
        -0 逻辑或 or
        exit 退出
        exit 0 正常退出
        exit 数字  返回错误码
    6.循环
        for 变量 in 名字表
        do
            命令列表
        done

      实例:循环的时候累加

     #!/bin/sh
    num=0
    cat a.c | while read line
    do
     echo $line
    num=`expr $num + 1`
    done
    echo $num
    

    7. shell遍历目录下所有文件 

    filelist=`ls /home/work/file/`
    for file in $filelist
    do 
    echo $file
    done
    

     注意的是 文件名中不能有空格  否则会当成当成多个文件

     8.linux 下查看文件个数及大小

      find /www/fengzi/ipa  -type f | wc -l

    9.Linux查看文件夹大小

      du -sh 查看当前文件夹大小

      du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序

      du -sk filename 查看指定文件大小

    10.查询文件夹下所有文件

    #!/bin/sh
    #wget from pp download pp.ipa
    
    URI=0
    cd /www/fengzi/ipa/
    
    filelist=`ls -R /www/fengzi/ipa/`
    for file in $filelist
    do
    URI=`pwd`
    echo "$URI/$file
    " >> /www/fengzi/all.txt
    done
    

     11. 切分nginx日志

    #!/bin/bash
    ## 零点执行该脚本
    ## Nginx 日志文件所在的目录
    LOGS_PATH=/usr/local/nginx/logs
    ## 获取昨天的 yyyy-MM-dd
    YESTERDAY=`date -d "yesterday" +"%Y%m%d"`
    
    ## 移动文件
    mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
    ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
    kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
    

      

  • 相关阅读:
    通过html()的方法获取文本内容, form表单组件显示的值与获取到的值不一致的问题
    quartz实例以及主要事项(注解)
    解决因为链表过长,sql查询慢的问题
    query flot 直方图上显示对应的y值
    git error: RPC failed; curl 18 transfer closed with outstanding read data remaining error: 7777 bytes of body are still expected
    iso七层模型及其功能作用
    计算机进制之间的转换,十进制转二进制换算
    libconfig++ 交叉编译流程
    Ubuntu 交叉编译( gcc-linaro-arm-linux-gnueabihf)环境搭建
    周立功IoT7000li编译移远EC20驱动记录
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/3760823.html
Copyright © 2020-2023  润新知