工作中碰到这样的需求:
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 传递参数
&& 前面脚本执行成功后执行后面的脚本