Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import datetime
- import os, subprocess, shutil
- def pinfo(msg):
- os.system(f"echo '\e[1;34mautobackup.py:\e[0m {msg}'")
- def pgreen(msg):
- os.system(f"echo '\e[1;32m{msg}\e[0m'")
- def pcmd(msg):
- os.system(f"echo '\e[1;32m{msg}\e[0m'")
- def getOutput(command):
- o, _e = subprocess.Popen(['bash', '-c', "time {} 2>&1".format(command), './test.out'],
- stdout = subprocess.PIPE, stderr=subprocess.PIPE).communicate()
- return o.decode()
- def getDatetimeNow():
- return datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
- def ensureSpace(minimal_space):
- pinfo("Sprawdzanie pamieci na \e[1m/mnt/Archiwum_Lokalne\e[0m")
- pcmd("ls -la /mnt/Archiwum_Lokalne/")
- os.system("ls -la /mnt/Archiwum_Lokalne/")
- pinfo("Podana minimalna wolna pamiec \e[1m{}\e[0m KB".format(minimal_space))
- while True:
- leftover = 100000 - int(getOutput("du -c /mnt/Archiwum_Lokalne | grep 'total'").split('\t')[0])
- if leftover < minimal_space:
- dirlist = os.listdir("/mnt/Archiwum_Lokalne")
- dirlist.sort(reverse=True)
- shutil.rmtree("/mnt/Archiwum_Lokalne/{}".format(dirlist[0]))
- pinfo("Kasowanie \e[1;31m/mnt/Archiwum_Lokalne/{}\e[0m".format(dirlist[0]))
- if leftover > minimal_space:
- pinfo(f"Pamiec dostepna {leftover} KB na \e[1;33m/mnt/Archiwum_Lokalne\e[0m")
- break
- pgreen("#")
- pgreen("# autobackup.py by 88694")
- pgreen("#")
- now = getDatetimeNow()
- ensureSpace(70000)
- pcmd("{}".format("mkdir /mnt/Archiwum_Lokalne/Archiwum_{}".format(now)))
- os.system("mkdir /mnt/Archiwum_Lokalne/Archiwum_{}".format(now))
- pcmd("rsync -az -e ssh kali@vkali1:/home/. /mnt/Archiwum_Lokalne/Archiwum_{}".format(now))
- os.system("rsync -az -e ssh kali@vkali1:/home/. /mnt/Archiwum_Lokalne/Archiwum_{}".format(now))
- pcmd("ls -la /mnt/Archiwum_Lokalne/")
- os.system("ls -la /mnt/Archiwum_Lokalne/")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement