mirror of
https://github.com/vvzvlad/vestasync.git
synced 2024-12-25 19:51:00 +03:00
add new args: reinstall_packages
This commit is contained in:
parent
f8c74022a1
commit
c28c504b98
@ -94,9 +94,10 @@ hwclock --systohc --localtime
|
||||
--gitea_address http://192.168.1.101:3001/
|
||||
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c
|
||||
--source_hostname WB2-A3TBJXLS
|
||||
--reinstall_packages yes
|
||||
```
|
||||
|
||||
Используются те же аргументы, что и в ```install```, но дополнительно еще нужен аругмент ```source_hostname```, который определяет имя контроллера, с которого выполняется бекап. ```device_new_name``` не используется, в качестве имени будет взято имя старого контроллера.
|
||||
Используются те же аргументы, что и в ```install```, но дополнительно еще нужен аругмент ```source_hostname```, который определяет имя контроллера, с которого выполняется бекап. ```device_new_name``` не используется, в качестве имени будет взято имя старого контроллера. Опциональный аргумент ```reinstall_packages``` определяет, надо ли устанавливать пакеты, которые были установлены на старом контроллере.
|
||||
|
||||
**Обратите внимание, что после восстановления бекапа на новом контроллере старый контроллер не должен включаться в сеть, иначе произойдет конфликт адресов.**
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
apt-mark showmanual > /mnt/data/etc/vestasync/packages
|
||||
echo $(hostname) > /mnt/data/etc/vestasync/hostname
|
||||
export GIT_AUTHOR_NAME="vestasync_wb_$(hostname)"
|
||||
export GIT_COMMITTER_NAME="vestasync_wb_$(hostname)"
|
||||
@ -7,3 +8,4 @@ cd /mnt/data/etc/ > /dev/null 2>&1 || true
|
||||
git add . > /dev/null 2>&1 || true
|
||||
git commit -m "$(date +"%Y-%m-%d %H:%M:%S %z %Z")" > /dev/null 2>&1 || true
|
||||
git push -u origin master > /dev/null 2>&1 || true
|
||||
|
||||
|
11
vestasync.py
11
vestasync.py
@ -31,6 +31,7 @@ main_parser.add_argument('--gitea_address', help='Gitea address string', require
|
||||
main_parser.add_argument('--gitea_token', help='Gitea token', required=True)
|
||||
main_parser.add_argument('--device_ip', help='Device IP(s)', required=True, nargs='+', type=str)
|
||||
main_parser.add_argument('--user_cmd', help='User commands file')
|
||||
main_parser.add_argument('--reinstall_packages', help='Reinstall packages installed on source device')
|
||||
|
||||
args = main_parser.parse_known_args()
|
||||
args = args[0]
|
||||
@ -239,6 +240,13 @@ def save_mac_in_cfg(c):
|
||||
mac_address = interface["address"]
|
||||
c.run(f"echo {mac_address} > /mnt/data/etc/vestasync/macs/{ifname}")
|
||||
|
||||
|
||||
def save_packages(c):
|
||||
c.run("apt-mark showmanual > /mnt/data/etc/vestasync/packages")
|
||||
|
||||
def install_packages(c):
|
||||
c.run("xargs -a user_installed_packages.txt apt-get install -y")
|
||||
|
||||
def check_vestasync_installed(c):
|
||||
vestasync_path = "/mnt/data/etc/vestasync"
|
||||
result = c.run(f"test -d {vestasync_path}", warn=True)
|
||||
@ -263,6 +271,7 @@ def device_install(c):
|
||||
init_repo(c)
|
||||
ppush_the_repo(c)
|
||||
save_mac_in_cfg(c)
|
||||
save_packages(c)
|
||||
hostname = save_hostname(c)
|
||||
copy_wb_rule(c)
|
||||
ppush_the_repo(c)
|
||||
@ -298,6 +307,8 @@ def device_restore():
|
||||
git_clone(c)
|
||||
copy_etc(c)
|
||||
restore_hostname(c)
|
||||
if args.reinstall_packages is not None:
|
||||
install_packages(c)
|
||||
ppush_the_repo(c)
|
||||
create_autogit_systemd(c)
|
||||
create_automac_systemd(c)
|
||||
|
Loading…
Reference in New Issue
Block a user