Advertisement
Guest User

xxxcc

a guest
Jan 19th, 2020
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. from datetime import datetime
  2. import os, subprocess, shutil
  3.  
  4. def pinfo(msg):
  5. os.system(f"echo '\e[1;34mautobackup.py:\e[0m {msg}'")
  6. def pgreen(msg):
  7. os.system(f"echo '\e[1;32m{msg}\e[0m'")
  8. def pcmd(msg):
  9. os.system(f"echo '\e[1;32m{msg}\e[0m'")
  10.  
  11. def getOutput(command):
  12. o, _e = subprocess.Popen(['bash', '-c', "time {} 2>&1".format(command), './test.out'],
  13. stdout = subprocess.PIPE, stderr=subprocess.PIPE).communicate()
  14. return o.decode()
  15.  
  16. def getDatetimeNow():
  17. return datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
  18.  
  19. def ensureSpace(minimal_space):
  20. pinfo("Sprawdzanie pamieci na \e[1m/mnt/Archiwum_Lokalne\e[0m")
  21. pcmd("ls -la /mnt/Archiwum_Lokalne/")
  22. os.system("ls -la /mnt/Archiwum_Lokalne/")
  23. pinfo("Podana minimalna wolna pamiec \e[1m{}\e[0m KB".format(minimal_space))
  24. while True:
  25. leftover = 100000 - int(getOutput("du -c /mnt/Archiwum_Lokalne | grep 'total'").split('\t')[0])
  26. if leftover < minimal_space:
  27. dirlist = os.listdir("/mnt/Archiwum_Lokalne")
  28. dirlist.sort(reverse=True)
  29. shutil.rmtree("/mnt/Archiwum_Lokalne/{}".format(dirlist[0]))
  30. pinfo("Kasowanie \e[1;31m/mnt/Archiwum_Lokalne/{}\e[0m".format(dirlist[0]))
  31. if leftover > minimal_space:
  32. pinfo(f"Pamiec dostepna {leftover} KB na \e[1;33m/mnt/Archiwum_Lokalne\e[0m")
  33. break
  34. pgreen("#")
  35. pgreen("# autobackup.py by 88694")
  36. pgreen("#")
  37. now = getDatetimeNow()
  38. ensureSpace(70000)
  39.  
  40. pcmd("{}".format("mkdir /mnt/Archiwum_Lokalne/Archiwum_{}".format(now)))
  41. os.system("mkdir /mnt/Archiwum_Lokalne/Archiwum_{}".format(now))
  42. pcmd("rsync -az -e ssh kali@vkali1:/home/. /mnt/Archiwum_Lokalne/Archiwum_{}".format(now))
  43. os.system("rsync -az -e ssh kali@vkali1:/home/. /mnt/Archiwum_Lokalne/Archiwum_{}".format(now))
  44. pcmd("ls -la /mnt/Archiwum_Lokalne/")
  45. os.system("ls -la /mnt/Archiwum_Lokalne/")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement