#! /usr/bin/env python import os, sys, glob import produtil.setup, produtil.run, produtil.fileop, produtil.config, produtil.batchsystem from produtil.fileop import chdir from produtil.run import run, exe, batchexe import nmmbUsh import logging from nmmbUsh import logger produtil.setup.setup() logger.info("archive started") workdir=os.environ.get('WORKhmon') parmdir=os.environ.get('PARMhmon') conf=produtil.config.from_file(parmdir + "/hmon.conf") comdir=conf.get('dir','COM') hpssdir=conf.get('dir','hpssdir') logger.info('hpssdir=' + str(hpssdir)) chdir(workdir) with open(workdir + "/get_storm_info/storm_info", 'r') as f: for line in f: if "STORM_NAME=" in line: STORM_NAME = line.replace("STORM_NAME=", "") STORM_NAME = STORM_NAME.strip('\n') if "START_DATE=" in line: START_DATE = line.replace("START_DATE=", "") START_DATE = START_DATE.strip('\n') if "STORM_ID=" in line: STORM_ID = line.replace("STORM_ID=","") stormid = STORM_ID.strip('\n') storm_id=stormid ## tar and put into hpss tarfile=STORM_NAME + storm_id + "." + START_DATE + ".tar" atmos_d = comdir + "/" + START_DATE + "/" + stormid chdir(atmos_d) # This allows mkdir -p to fail because the directory may already exist: produtil.run.run(batchexe('hsi')['mkdir','-p',hpssdir]) # Get the list of the files: files=glob.glob('*') # Run htar and abort if it fails produtil.run.checkrun(batchexe('htar')['-chf', hpssdir+'/'+tarfile][files]) logger.info("run_archive finished")