add arg user_cmd

This commit is contained in:
vvzvlad 2023-04-17 22:18:35 +07:00
parent 631b5a69b0
commit 387658de91
3 changed files with 7 additions and 5 deletions

View File

@ -67,7 +67,7 @@ pip3 install -r requirements.txt
```--gitea_address``` адрес Gitea-сервера в виде "http://192.168.1.101:3001/", куда будет загружаться бекапы конфигов ```--gitea_address``` адрес Gitea-сервера в виде "http://192.168.1.101:3001/", куда будет загружаться бекапы конфигов
```--device_new_name``` имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами ```--device_new_name``` имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
```--gitea_token``` токен для авторизации на Gitea-сервере (получается в интерфейсе Gitea) ```--gitea_token``` токен для авторизации на Gitea-сервере (получается в интерфейсе Gitea)
```--user_cmd``` файл sh с командами, которые надо выполняить на контроллере для его настройки под ваши задачи (указывать необязательно). В нем можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее. Пример файла — ```user_cmd.sh```: ```--user_cmd``` файл sh с командами, которые надо выполняить на контроллере для его настройки под ваши задачи (указывать необязательно). В нем можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее. Пример файла — ```files/user_cmd.sh```:
``` ```
#!/usr/bin/env sh #!/usr/bin/env sh

View File

@ -221,9 +221,9 @@ def ppush_the_repo(c):
print(f"Error: {e.result.stderr}") print(f"Error: {e.result.stderr}")
c.run('cd /mnt/data/etc/ && git push -u origin master', hide=True) c.run('cd /mnt/data/etc/ && git push -u origin master', hide=True)
def run_user_cmd(c): def run_user_cmd(c, file):
user_cmd_file = "/tmp/user_cmd.sh" user_cmd_file = "/tmp/user_cmd.sh"
c.put("user_cmd.sh", user_cmd_file) c.put(file, user_cmd_file)
c.run(f"chmod +x {user_cmd_file}") c.run(f"chmod +x {user_cmd_file}")
c.run(f"{user_cmd_file}") c.run(f"{user_cmd_file}")
c.run(f"rm {user_cmd_file}") c.run(f"rm {user_cmd_file}")
@ -249,7 +249,8 @@ def device_install(c):
copy_wb_rule(c) copy_wb_rule(c)
create_automac_systemd(c) create_automac_systemd(c)
create_autogit_systemd(c) create_autogit_systemd(c)
run_user_cmd(c) if args.user_cmd is not None:
run_user_cmd(c, args.user_cmd_file)
print("Update vestasync complete\n") print("Update vestasync complete\n")
def device_update(c): def device_update(c):
@ -300,7 +301,8 @@ def device_restore():
ppush_the_repo(c) ppush_the_repo(c)
create_autogit_systemd(c) create_autogit_systemd(c)
create_automac_systemd(c) create_automac_systemd(c)
run_user_cmd(c) if args.user_cmd is not None:
run_user_cmd(c, args.user_cmd_file)
reboot(c) reboot(c)
print(f"Restore backup complete (hostname {hostname}), rebooting target device..\n") print(f"Restore backup complete (hostname {hostname}), rebooting target device..\n")
except socket.timeout: except socket.timeout: