mirror of
https://gitlab.sectorq.eu/jaydee/omv_backup.git
synced 2025-07-01 15:48:33 +02:00
73 lines
2.2 KiB
Python
Executable File
73 lines
2.2 KiB
Python
Executable File
import subprocess
|
|
import time
|
|
import datetime
|
|
|
|
backups = {
|
|
"__GITHUB":"admin@192.168.77.106:/share/Data/__GITHUB",
|
|
"Photo":"admin@192.168.77.106:/share/Photo/Years"
|
|
}
|
|
|
|
for b in backups:
|
|
SOURCE_DIR=backups[b]
|
|
now = datetime.datetime.now()
|
|
BACKUP_DIR="/srv/dev-disk-by-uuid-02fbe97a-cd9a-4511-8bd5-21f8516353ee/{}".format(b)
|
|
DATETIME = now.strftime("%Y-%m-%d_%H:%M:%S")
|
|
BACKUP_PATH="{}/{}".format(BACKUP_DIR, DATETIME)
|
|
LATEST_LINK="{}/latest".format(BACKUP_DIR)
|
|
|
|
|
|
cmnd = "mkdir -p {}".format(BACKUP_DIR)
|
|
status, output = subprocess.getstatusoutput(cmnd)
|
|
print(cmnd)
|
|
|
|
#cmnd = "rsync -av --delete {}/ --link-dest {} --exclude=\".cache\" {}".format(SOURCE_DIR, LATEST_LINK, BACKUP_PATH)
|
|
cmnd = ["rsync", '--info=progress2', "-avz", "--delete", SOURCE_DIR, "--link-dest", LATEST_LINK, "--exclude=\".cache\"", BACKUP_PATH]
|
|
print(cmnd)
|
|
|
|
#run_list = ['rsync', '--info=progress2', '-a', 'src/', 'dest/']
|
|
# with subprocess.Popen(
|
|
# cmnd, stdout=subprocess.PIPE, bufsize=1, text=True
|
|
# ) as process:
|
|
# for line in iter(p.stdout.readline, b''):
|
|
# print(line.strip())
|
|
|
|
|
|
|
|
process = subprocess.Popen(cmnd,
|
|
stdout=subprocess.PIPE)
|
|
|
|
while process.poll() is None:
|
|
line = process.stdout.readline()
|
|
l = line.splitlines()
|
|
i = -1
|
|
a = len(l)
|
|
#print(l[-1])
|
|
time.sleep(3)
|
|
print(len(l))
|
|
while True:
|
|
for line in reversed(l):
|
|
print(len(line.split()))
|
|
e = str(line).split()
|
|
if len(e) > 4:
|
|
print(e[2])
|
|
print(line)
|
|
break
|
|
break
|
|
|
|
# print(l[-1])
|
|
# #print(str(line))
|
|
# time.sleep(3)
|
|
#print(cmnd)
|
|
#status, output = subprocess.getstatusoutput(cmnd)
|
|
# rsync -av --delete \
|
|
# "${SOURCE_DIR}/" \
|
|
# --link-dest "${LATEST_LINK}" \
|
|
# --exclude=".cache" \
|
|
# "${BACKUP_PATH}"
|
|
cmnd = "rm -rf {}".format(LATEST_LINK)
|
|
print(cmnd)
|
|
status, output = subprocess.getstatusoutput(cmnd)
|
|
|
|
cmnd = "ln -s {} {}".format(BACKUP_PATH, LATEST_LINK)
|
|
print(cmnd)
|
|
status, output = subprocess.getstatusoutput(cmnd) |