updated fastdl_sync with gmod stuff. used specific path structures that i was asked to use.
This commit is contained in:
parent
0045b37f29
commit
f174a8a5b1
@ -45,5 +45,8 @@ else
|
|||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/svencoop/svencoop_addon r2demo:/svencoop/
|
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/svencoop/svencoop_addon r2demo:/svencoop/
|
||||||
#gmod zs
|
#gmod zs
|
||||||
rclone copy --max-age 30m --no-traverse --no-update-modtime /home/gameservers/fastdl/gmod_zs/maps r2demo:/gmod_zs/maps/
|
rclone copy --max-age 30m --no-traverse --no-update-modtime /home/gameservers/fastdl/gmod_zs/maps r2demo:/gmod_zs/maps/
|
||||||
|
rclone copy --max-age 30m --no-traverse --no-update-modtime /home/gameservers/fastdl/gmod_zs/gamemodes r2demo:/gmod_zs/gamemodes/
|
||||||
|
rclone copy --max-age 30m --no-traverse --no-update-modtime /home/gameservers/fastdl/gmod_zs/addons r2demo:/gmod_zs/addons/
|
||||||
echo 'Finished short run with files younger than 30 minutes.'
|
echo 'Finished short run with files younger than 30 minutes.'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/local/bin/python3.5
|
#!/usr/local/bin/python3.5
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
def compare_lists(docker_find, ovh_find):
|
def compare_lists(docker_find, ovh_find):
|
||||||
d = []
|
d = []
|
||||||
@ -16,21 +17,103 @@ def compare_lists(docker_find, ovh_find):
|
|||||||
d.append(file_docker)
|
d.append(file_docker)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
def files_to_move(files, directory):
|
def files_to_move(files):
|
||||||
for file in files:
|
for file in files:
|
||||||
file = file.decode("utf-8")
|
file = file.decode("utf-8")
|
||||||
str1 = f"docker cp debian-server:{file} ../gmod_zs/fastdl/{directory}/"
|
wanted_path = file.split("/garrysmod/")[1]
|
||||||
#print(str1)
|
wanted_path = wanted_path.rsplit("/", 1)[0]
|
||||||
|
str1 = f"docker cp debian-server:{file} ../gmod_zs/fastdl/{wanted_path}"
|
||||||
|
#print('str1: ', str1)
|
||||||
|
##sys.exit(1)
|
||||||
|
subprocess.Popen([f"mkdir -p ../gmod_zs/fastdl/{wanted_path}"], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL).communicate()[0]
|
||||||
subprocess.Popen([str1], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL).communicate()[0]
|
subprocess.Popen([str1], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL).communicate()[0]
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
#find maps in docker
|
#find maps in docker
|
||||||
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/maps -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/maps -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
#find maps on our OVH machine
|
#find maps on our OVH machine
|
||||||
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/maps/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/maps/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
#if maps are in docker but not OVH we need to list them
|
#if maps are in docker but not OVH we need to list them
|
||||||
maps_to_move = compare_lists(docker_find, ovh_find)
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
#move the files to OVH.
|
#move the files to OVH.
|
||||||
files_to_move(maps_to_move, "maps")
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
#find gamemodes in docker
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/gamemodes/zombiesurvival/content/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
#find gamemodes on our OVH machine
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/zombiesurvival/content/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
#if are in docker but not OVH we need to list them
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/atlaschat/materials/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/atlaschat/materials/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/atlaschat/resource/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/atlaschat/resource/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/uzscontent/materials/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/uzscontent/materials/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/uzscontent/models/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/uzscontent/models/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/uzscontent/particles/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/uzscontent/particles/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/uzscontent/resource/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/uzscontent/resource/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/uzscontent/sound/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/uzscontent/sound/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/vipmodels/materials/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/vipmodels/materials/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/vipmodels/models/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/vipmodels/models/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
|
||||||
|
|
||||||
|
docker_find = subprocess.Popen(["docker exec debian-server find /home/gameservers_zs/gmod_zs_1/garrysmod/addons/wepmodels/models/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
ovh_find = subprocess.Popen(["find /home/gameservers/gmod_zs/fastdl/gamemodes/addons/wepmodels/models/ -type f"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).communicate()[0].splitlines()
|
||||||
|
content_to_move = compare_lists(docker_find, ovh_find)
|
||||||
|
#move the files to OVH.
|
||||||
|
files_to_move(content_to_move)
|
||||||
|
@ -12,4 +12,5 @@ screen -A -m -d -S fastdl_css_ze_uk python3 fastdl_ftp_uk.py -t 2 ../css
|
|||||||
screen -A -m -d -S fastdl_css_zr_uk python3 fastdl_ftp_uk.py -t 2 ../css_zr/cstrike/{maps,materials,models,sound} ftp://127.0.0.1/fastdl/css_zr
|
screen -A -m -d -S fastdl_css_zr_uk python3 fastdl_ftp_uk.py -t 2 ../css_zr/cstrike/{maps,materials,models,sound} ftp://127.0.0.1/fastdl/css_zr
|
||||||
screen -A -m -d -S fastdl_css_mg_uk python3 fastdl_ftp_uk.py -t 2 ../css_mg/cstrike/{maps,materials,models,sound} ftp://127.0.0.1/fastdl/css_mg
|
screen -A -m -d -S fastdl_css_mg_uk python3 fastdl_ftp_uk.py -t 2 ../css_mg/cstrike/{maps,materials,models,sound} ftp://127.0.0.1/fastdl/css_mg
|
||||||
screen -A -m -d -S fastdl_svencoop_uk python3 fastdl_ftp_uk_sven.py -t 2 ../svencoop/svencoop_addon/ ftp://127.0.0.1/fastdl/svencoop
|
screen -A -m -d -S fastdl_svencoop_uk python3 fastdl_ftp_uk_sven.py -t 2 ../svencoop/svencoop_addon/ ftp://127.0.0.1/fastdl/svencoop
|
||||||
screen -A -m -d -S fastdl_gmod_zs_uk python3 fastdl_ftp_uk.py -t 2 ../gmod_zs/fastdl/{maps,materials,models,sound} ftp://127.0.0.1/fastdl/gmod_zs
|
screen -A -m -d -S fastdl_gmod_zs_uk python3 fastdl_ftp_uk.py -t 2 ../gmod_zs/fastdl/{maps,gamemodes,addons,materials,models,sound} ftp://127.0.0.1/fastdl/gmod_zs
|
||||||
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
[r2demo]
|
|
||||||
type = s3
|
|
||||||
provider = Cloudflare
|
|
||||||
access_key_id =
|
|
||||||
secret_access_key =
|
|
||||||
endpoint =
|
|
||||||
acl = private
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/sh
|
|
||||||
#run full reclone when arguement is given
|
|
||||||
if [ $# -eq 1 ]
|
|
||||||
then
|
|
||||||
echo 'doing long run with all files being updated.'
|
|
||||||
#ZE server
|
|
||||||
rclone copy /home/gameservers/fastdl/css_ze/materials r2demo:/css_ze/materials/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_ze/models r2demo:/css_ze/models/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_ze/maps r2demo:/css_ze/maps/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_ze/sound r2demo:/css_ze/sound/
|
|
||||||
#ZR server
|
|
||||||
rclone copy /home/gameservers/fastdl/css_zr/materials r2demo:/css_zr/materials/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_zr/models r2demo:/css_zr/models/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_zr/maps r2demo:/css_zr/maps/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_zr/sound r2demo:/css_zr/sound/
|
|
||||||
#MG server
|
|
||||||
rclone copy /home/gameservers/fastdl/css_mg/materials r2demo:/css_mg/materials/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_mg/models r2demo:/css_mg/models/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_mg/maps r2demo:/css_mg/maps/
|
|
||||||
rclone copy /home/gameservers/fastdl/css_mg/sound r2demo:/css_mg/sound/
|
|
||||||
#svencoop
|
|
||||||
rclone copy /home/gameservers/fastdl/svencoop/svencoop_addon r2demo:/svencoop/
|
|
||||||
echo 'Finished long run with all files updated.'
|
|
||||||
#else if no arguement given run default with 30minute maximum.
|
|
||||||
else
|
|
||||||
echo 'doing short run with files younger than 30 minutes.'
|
|
||||||
#ZE server
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_ze/materials r2demo:/css_ze/materials/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_ze/models r2demo:/css_ze/models/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_ze/maps r2demo:/css_ze/maps/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_ze/sound r2demo:/css_ze/sound/
|
|
||||||
#ZR server
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_zr/materials r2demo:/css_zr/materials/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_zr/models r2demo:/css_zr/models/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_zr/maps r2demo:/css_zr/maps/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_zr/sound r2demo:/css_zr/sound/
|
|
||||||
#MG server
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_mg/materials r2demo:/css_mg/materials/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_mg/models r2demo:/css_mg/models/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_mg/maps r2demo:/css_mg/maps/
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/css_mg/sound r2demo:/css_mg/sound/
|
|
||||||
#svencoop
|
|
||||||
rclone copy --max-age 30m --no-traverse /home/gameservers/fastdl/svencoop/svencoop_addon r2demo:/svencoop/
|
|
||||||
echo 'Finished short run with files younger than 30 minutes.'
|
|
||||||
fi
|
|
@ -1,9 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Rclones to R2 bucket every 10 minutes
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
User=gameservers
|
|
||||||
Group=gameservers
|
|
||||||
WorkingDirectory=/home/gameservers/fastdl_sync
|
|
||||||
ExecStart=/home/gameservers/fastdl_sync/r2_update.sh
|
|
@ -1,9 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=rclones new content every 10 minutes
|
|
||||||
Requires=r2_bucket_rclone.service
|
|
||||||
|
|
||||||
[Timer]
|
|
||||||
OnCalendar=*-*-* *:0,10,20,30,40,50
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
Loading…
Reference in New Issue
Block a user