zoukankan      html  css  js  c++  java
  • Shell脚本

    Shell脚本模板

    #!/bin/bash
    #Usage:
    #      ./start-comm-job_pro.sh
    #------------------------------------------------------
    #Filename:              start-comm-job_pro.sh
    #Revision:              1.0
    #Date:                  2017/10/30
    #Author:                
    #Description:     
    #Notes:
    #------------------------------------------------------
    #定义该脚本执行必须输入两个参数:行业ID和日期,如果参数输入个数少于2就会报错
    #调用语句如下sh /home/shutong/crawl/script/start-comm-job_pro.sh ${industry_id} ${date_id}
    Usage="Usage: $0 industry_id date_id "
    #[ $# -lt 2 ] && echo "${Usage}" && exit -1
    
    #define alias time and bring into effect,alias就是命名一个较长命令的别名,这里用dt代替'date +%Y-%m-%d" "%H:%M:%S',后面的shopt命令就是使这个别名转化在整个脚本里生效
    alias dt='date +%Y-%m-%d" "%H:%M:%S'
    shopt -s expand_aliases
    
    #script_dir=/home/shutong/crawl/script/
    #mysql_dir='/home/shutong/mariadb-5.5.57-linux-x86_64/bin'
    
    #date_hour_id=`date -d "1 days ago" +%Y%m%d%H`
    
    #date_id=`date -d "0 days ago" +%Y%m%d`
    
    #判断日期是否有参数,如没有参数默认取当天,参数优先
    if [ ! -n "$1" ];then 
       date_id=`date -d "0 days ago" +%Y%m%d`
       #echo "参数不存在,默认参数为今天${date_id}"
    else
       date_id=$1
       #echo "参数存在:${date_id}"
    fi
    
    #定义数据库名称
    db='label'
    #mysql服务器地址
    host=192.168.0.112
    #mysql用户名
    user=root
    #密码
    passwd=root 
    
    #定义数据文件,格式为:${industry_id}_${date_id}.csv,
    #存放目录统一放在/home/shutong/crawl/data/${industry_id}
    #例如:汽车行业20171208日数据:004004_20171208.csv
    filename="/home/shutong/crawl/data/${industry_id}/${industry_id}_${date_id}.csv"
    
    #把数据文件导入src_url表中
    function load_to_src_url()
    {
      filename=$1
      tab_nm=$2
     #cd ${mysql_dir}
     mysql -h ${host} -u${user} -p${passwd} -e "use ${db}; delete from "$2" where date_id = '${date_id}';
       LOAD DATA LOCAL INFILE '${filename}' INTO TABLE "$2" character set utf8
    FIELDS TERMINATED BY '^' 
    LINES TERMINATED BY '
    ';
     "
    }
    
    
    #开始爬取数据
    python /home/shutong/crawl/36bigdata/crawl_bigdata_article.py "${date_id}"
    
    #文章标题数据存放路径
    #filename="/home/shutong/crawl/36bigdata/input/${date_id}/article_title_info_${date_id}.csv"
    #load_to_src_url ${filename} "src_article_title"
    
    #文章内容数据存放路径
    #filename="/home/shutong/crawl/36bigdata/input/${date_id}/article_context_info_${date_id}.csv"
    #load_to_src_url ${filename} "src_article_context"
    
    #hdfs dfs -mkdir -p /input/36bigdata/src_article_title/"${date_id}"
    
    #hdfs dfs -put ${filename} /input/36bigdata/src_article_title/${date_id}
    
    #hive -e "use label; alter table src_article_title add partition(date_id=${date_id}) location 'hdfs://hadoop:9000/input/36bigdata/src_article_title/${date_id}';"

     Shell日期参数

    #判断是否有参数,如没有参数默认取当天,参数优先
    if [ ! -n "$2" ];then 
       date_id=`date -d "0 days ago" +%Y%m%d`
       #echo "参数不存在,默认参数为今天${date_id}"
    else
       date_id=$1
       #echo "参数存在:${date_id}"
    fi
    
    #日期的前3天
    before_3_days=`date -d "${date_id} 3 days ago" +%Y%m%d`
    echo "`dt`:date_id is--${date_id}"
    echo "`dt`:before_3_days--${before_3_days}"
  • 相关阅读:
    C# 实现将 PDF 转文本的功能
    推荐大家使用的CSS书写规范、顺序
    Android 应用开发者必看的 9 个 Tips
    网站统计中的数据收集原理及实现
    JSON劫持漏洞攻防原理及演练
    巧妙使用 CSS3 的褪色和动画效果制作消息提醒框
    20条常见的编码陷阱
    11 个最佳 jQuery 滚动条插件
    JavaScript客户端MVC 框架综述
    20个初学者实用的CSS技巧
  • 原文地址:https://www.cnblogs.com/Jims2016/p/8206816.html
Copyright © 2011-2022 走看看