一些任务调度情况

来源:互联网 发布:oracle数据库发展历史 编辑:程序博客网 时间:2024/05/20 02:25

在linux经常要做一些crontab任务,不注意的话容易出错,记录下,一些简单的情况:

*/15 *  * * * export PATH=$PATH:/usr/local/bin;/home/xmo/bj_today_data.sh
1  1 * * * export PATH=$PATH:/usr/local/bin;/home/xmo/bj_yesterday_data.sh
source /root/.bashrc; /usr/bin/python /home/xmo/bj_total.py>>/home/xmo/wilson_bj.log 2>&1



python中调度出错发邮件情况:

#!/usr/bin/python#encoding:utf-8'''Created on 2015年12月14日@author: wilson.zhou'''import pymysqlimport pandas  as pdimport datetimeimport osprint("Start processing file,Now time is :"+datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))# conn=pymysql.connect(host="10.10.10.77",user="usr_dba",passwd="4rfv%TGB^YHN",db="xmo_summaries",use_unicode=True, charset="utf8")# cur=conn.cursor()SysError=1def  gaincurrenttime1(day):    time=(datetime.datetime.now()+datetime.timedelta(days=day)).strftime("%Y%m%d")    return timeglobal  handtime1handtime1=gaincurrenttime1(0)logtable="""insert into  logname_bj(k_date,logname,lognum,logerror) SELECT k_date,logname,lognum,logerror from  logname_load_bj  b where b.k_date ={0};""".format(handtime1)banner_imp="""insert into search_market_conversions_summary_bj(searchengine_id,k_date,impressions) select searchengine_id,k_date,impressions from (select  searchengine_id, k_date,sum(impressions) as impressions from rtb_log_load_data_bj where k_date={0} group by searchengine_id,k_date)  b on duplicate key update search_market_conversions_summary_bj.impressions=ifnull(search_market_conversions_summary_bj.impressions,0)+ifnull(b.impressions,0);""".format(handtime1) banner_click="""insert into search_market_conversions_summary_bj(searchengine_id,k_date,clicks ,click_true ) select searchengine_id,k_date,clicks ,click_true from (select  searchengine_id, k_date,sum(clicks) as clicks ,sum(click_true) as click_true  from adgroup_log_load_data_bj    where k_date={0} group by searchengine_id,k_date) b on duplicate key update search_market_conversions_summary_bj.clicks=ifnull(search_market_conversions_summary_bj.clicks,0)+ifnull(b.clicks,0), search_market_conversions_summary_bj.click_true=ifnull(search_market_conversions_summary_bj.click_true,0)+ifnull(b.click_true,0);""".format(handtime1)otv_imp=""" insert imageviews_report_summary_core_bj(creative_id,date,impressions,displayimage_id,placement_id) select creative_id,date,impressions ,displayimage_id,placement_id from (select  creative_id, date,displayimage_id,placement_id ,sum( impressions) as impressions from image_imp_log_load_data_bj  where date={0} group by creative_id,date,displayimage_id,placement_id) b on duplicate key update imageviews_report_summary_core_bj.impressions=ifnull(imageviews_report_summary_core_bj.impressions,0)+ifnull(b.impressions,0);""".format(handtime1)otv_click="""insert imageviews_report_summary_core_bj(creative_id,date,clicks,displayimage_id,placement_id ) select creative_id,date,clicks ,displayimage_id,placement_id from (select  creative_id, date,displayimage_id,placement_id ,sum(clicks) as clicks   from image_cli_log_load_data_bj where date={0} group by creative_id,date,displayimage_id,placement_id ) b  on duplicate key update imageviews_report_summary_core_bj.clicks=ifnull(imageviews_report_summary_core_bj.clicks,0)+ifnull(b.clicks,0);""".format(handtime1)if  os.path.exists('/home/xmo/bj_datahand.py.lck'):    print('the  program  is running')    os.system("""python  /home/xmo/sendmail.py  " BJ python program is running,Now the time is {0}"  "Please try again later" """.format(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))    passelse:    os.system("ln -s /home/xmo/bj_datahand.py  /home/xmo/bj_datahand.py.lck")    try:#         conn=pymysql.connect(host="10.10.10.77",user="usr_dba",passwd="4rfv%TGB^YHN",db="xmo_summaries",use_unicode=True, charset="utf8")        conn=pymysql.connect(host="10.10.10.152",user="usr_sync",passwd="^YGH*aJdH2TS134tgb",db="xmo_summaries_sync",use_unicode=True, charset="utf8")        cur=conn.cursor()        cur.execute("delete from logname_load_bj where k_date={0};".format(handtime1))        conn.commit()        cur.execute("delete from adgroup_log_load_data_bj where k_date={0};".format(handtime1))        conn.commit()        cur.execute("delete from image_cli_log_load_data_bj  where date={0};".format(handtime1))        conn.commit()        cur.execute("delete from image_imp_log_load_data_bj where date={0};".format(handtime1))        conn.commit()        cur.execute("delete from rtb_log_load_data_bj  where k_date={0};".format(handtime1))        conn.commit()        execfile('/home/xmo/bj_datahand.py')    except  Exception, e:        print e        SysError=SysError+1        os.system("unlink  /home/xmo/bj_datahand.py.lck")    finally:        if SysError==1:                #     banner数据插入更新            try:                cur.execute(banner_click)                conn.commit()            except Exception,e:                print e            try:                  cur.execute(banner_imp)                conn.commit()            except Exception,e:                print e#     otv数据插入更新            try:                cur.execute(otv_imp)                conn.commit()            except Exception,e:                print e            try:                cur.execute(otv_click)                conn.commit()            except:                print e            try:                cur.execute(logtable)                conn.commit()            except Exception,e:                print e#       banner数据备份            try:                cur.execute("""insert into rtb_log_load_data_history_bj(searchengine_id,k_date,impressions,updatetime) select searchengine_id,k_date,impressions,DATE_FORMAT(now(),"%Y%m%d %H:%i:%s") as updatetime from(select  searchengine_id, k_date,sum(impressions) as impressions from rtb_log_load_data_bj    where k_date={0} group by searchengine_id,k_date)  b """.format(handtime1))                conn.commit()            except Exception,e:                print e            try:                cur.execute("""INSERT into adgroup_log_load_data_history_bj(searchengine_id,k_date,clicks ,click_true,updatetime) select searchengine_id,k_date,clicks ,click_true,DATE_FORMAT(now(),"%Y%m%d %H:%i:%s") as updatetime  from   (select  searchengine_id, k_date,sum(clicks) as clicks ,sum(click_true) as click_true from adgroup_log_load_data_bj  where k_date={0} group by searchengine_id,k_date) b;""".format(handtime1))                conn.commit()            except:                print e#       otv数据备份            try:                cur.execute("""insert into image_cli_log_load_data_history_bj(creative_id,date,clicks ,displayimage_id,placement_id ,updatetime)  select  creative_id,date,clicks ,displayimage_id,placement_id ,DATE_FORMAT(now(),"%Y%m%d %H:%i:%s") as updatetime from (select  creative_id, date,displayimage_id,placement_id ,sum(clicks) as clicks   from image_cli_log_load_data_bj where date={0} group by creative_id,date,displayimage_id,placement_id ) b """.format(handtime1))                conn.commit()            except Exception,e:                print e            try:                cur.execute("""insert into image_imp_log_load_data_history_bj(creative_id,date,impressions,displayimage_id,placement_id ,updatetime) select creative_id,date,impressions,displayimage_id,placement_id ,DATE_FORMAT(now(),"%Y%m%d %H:%i:%s") as updatetime  from (select  creative_id, date,sum( impressions) as impressions ,displayimage_id,placement_id  from image_imp_log_load_data_bj where date={0} group by creative_id,date,displayimage_id,placement_id ) b""".format(handtime1))                conn.commit()            except:                print e    try:        os.system("unlink  /home/xmo/bj_datahand.py.lck")    except:        pass    if SysError==1:               print("There is no error,Now time is :"+datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))    else:        try:            os.system("""python  /home/xmo/sendmail.py "BJ PYTHON  ERROR ,Now the time is {0}"  "BJ scheduler has an error in  python program, please check it."  """.format(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))        except:            print("mail has some errors")        print("Please check for errors,Now time is :"+datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))    conn.close()


0 0
原创粉丝点击