-
Notifications
You must be signed in to change notification settings - Fork 0
/
PI_Maintenance.py
49 lines (37 loc) · 1.19 KB
/
PI_Maintenance.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import os
from datetime import datetime
import argparse
import subprocess
now = datetime.now()
current_time = now.strftime('%I:%M')
def call_update_and_upgrade_all():
# Free some space's
os.system("sudo apt-get clean")
# update!!
os.system("sudo apt-get update")
# upgrade
subprocess.check_output("apt-get upgrade", shell=True)
os.system('sudo apt-get autoremove')
return "Done"
def future_time_task_now(future_time):
while True:
if str(current_time) == future_time:
return call_update_and_upgrade_all()
else:
print("Its Not Time Yet")
def main():
# Passing Argparse
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--ChangeTime", help="This time Maintenance will be begin EX: "+current_time, type=str)
parser.add_argument("-now", "--Now", help="This will Maintenance NOW... Immediately effective", action="store_true")
args = parser.parse_args()
if args.ChangeTime:
res = future_time_task_now(args.ChangeTime)
print(res)
elif args.Now:
call_update_and_upgrade_all()
if __name__ == '__main__':
try:
print(main())
except SystemExit as e:
print(e)