import sys import time import glob, os import argparse import datetime g_log_file_path = "/tmp/" g_time_file_name = "/tmp/s3_dump_time" def get_handy_manny_log_file_name(): os.chdir(g_log_file_path) return glob.glob("HandyManny*") def get_service_log_file_name(): os.chdir(g_log_file_path) return glob.glob("srevice_log") def validate_time(time_in_str): time_in_list = time_in_str.split(':') if len(time_in_list) != 3: return False try: if int(time_in_list[0]) not in range(0, 24): return False elif int(time_in_list[1]) not in range(0, 60): return False elif int(time_in_list[2]) not in range(0, 60): return False except: return False return True def main(): parser = argparse.ArgumentParser(description="Script to dump log file to S3 bucket") arguments = parser.add_argument_group('command line arguments') arguments.add_argument("--time", required=False, help="Enter the time in 24 hour format (Ex: 19:58:23)") args = parser.parse_args() if args.time is not None: if validate_time(args.time): print("Successfully stored the time") file_obj = open(g_time_file_name, 'w') file_obj.write(args.time) exit(0) else: print("Time format is not correct. Existing the script") exit(1) else: print("Skipping --time argument") if not os.path.isfile(g_time_file_name): print("File not exist. Existing the script. Help: First configure the time then only use this script") exit(2) log_time = open(g_time_file_name, 'r').readline() log_time = datetime.datetime.strptime(log_time, "%H:%M:%S") current_time = time.localtime() current_time = time.strftime("%H:%M:%S", current_time) current_time = datetime.datetime.strptime(current_time, "%H:%M:%S") time_diff_in_seconds = (current_time-log_time).total_seconds() if time_diff_in_seconds > -180 and time_diff_in_seconds < 180: print("Dump log file") else: print("Do not dump file") if __name__ == '__main__': main()
Comments