zoukankan      html  css  js  c++  java
  • 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`
    

      

  • 相关阅读:
    python 字符串替换功能 string.replace()可以用正则表达式,更优雅
    windows 10 如何设定计划任务自动执行 python 脚本?
    win10 设定计划任务时提示所指定的账户名称无效,如何解决?
    pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?
    coinmarketcap前20之cardano卡尔达诺(ADA艾达币)
    【SpringMVC】参数绑定
    【SpringMVC】入门
    【Hibernate】 二级缓存及查询缓存
    【Hibernate】事务处理
    【Hibernate】抓取策略
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/3760823.html
Copyright © 2011-2022 走看看