zoukankan      html  css  js  c++  java
  • 一段shell脚本分析

    工作中碰到这样的需求:
    1、每天定时要执行python脚本生成excel
    2、将生成的excel拷贝到特定目录下
    3、通过python发送脚本发送给特定的接收者

    因为之前没有接触过shell脚本,同事帮忙写了一份,具体内容如下。

    #!/bin/bash                                                                      
                                                                                     
    . ~/.bash_profile                                                                
    . ~/virtualenv/bin/activate                                                      
                                                                                     
    dt=`date +'%Y-%m-%d'`                                                            
    day=`date +'%Y%m%d'`                                                             
                                                                                     
    cd virtualenv/report                                                             
    python main.py --table 催收DL $dt                                                
    python main.py --table 催收DR $dt                                                
    python main.py --table 催收DZ-BH $dt                                             
    python main.py --table 催收DZ-SS $dt                                             
    python main.py --table 催收DZ-TL $dt                                             
    python main.py --table 催收HW $dt                                                
    python main.py --table 催收SH $dt                                                
    python main.py --table 催收XC $dt                                                
    python main.py --table 催收YFT $dt                                               
    python main.py --table 催收ZC $dt                                                
                                                                                     
    cp excel/催收*$day* ~/virtualenv/report/sendxls/ && python cui_mail.py $dt 
    

    基本思路:
    定时器用crontab进行设定,定时执行脚本,并将输出存到日志。

    3 12,14,16,18,23 * * * /home/report/virtualenv/report/cuishou.sh >> /home/report/log.log 2>&1
    

    昨天分析过了crontab的格式,上面表示每天的12:03,14:03,16:03,18:03,23:03定制执行cuishou.sh脚本和写入日志。

    下面就结合脚本分析下shell的常见知识点。
    . 执行脚本所需要的环境
    ` 优先执行
    date +'%Y-%m-%d' 日期格式转换
    date +'%Y%m%d 日期格式转换
    $dt 传递参数
    && 前面脚本执行成功后执行后面的脚本

  • 相关阅读:
    jQuery中的一些操作
    laravel使用消息队列
    Laravel的开发环境Homestead的搭建与配置
    python爬虫学习
    配置文件
    sql根据时间差查询数据
    Oracle根据连接字符串获取库下的表列表、获取表结构
    Sql根据连接字符串获取库下的表列表、获取表结构
    判断网络连接
    线程锁,解决多线程并发问题
  • 原文地址:https://www.cnblogs.com/everfight/p/shell.html
Copyright © 2011-2022 走看看