mirror of
https://github.com/vvzvlad/vestasync.git
synced 2024-12-26 20:21: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_address http://192.168.1.101:3001/
|
||||||
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c
|
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c
|
||||||
--source_hostname WB2-A3TBJXLS
|
--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
|
#!/usr/bin/env sh
|
||||||
|
apt-mark showmanual > /mnt/data/etc/vestasync/packages
|
||||||
echo $(hostname) > /mnt/data/etc/vestasync/hostname
|
echo $(hostname) > /mnt/data/etc/vestasync/hostname
|
||||||
export GIT_AUTHOR_NAME="vestasync_wb_$(hostname)"
|
export GIT_AUTHOR_NAME="vestasync_wb_$(hostname)"
|
||||||
export GIT_COMMITTER_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 add . > /dev/null 2>&1 || true
|
||||||
git commit -m "$(date +"%Y-%m-%d %H:%M:%S %z %Z")" > /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
|
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('--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('--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('--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 = main_parser.parse_known_args()
|
||||||
args = args[0]
|
args = args[0]
|
||||||
@ -239,6 +240,13 @@ def save_mac_in_cfg(c):
|
|||||||
mac_address = interface["address"]
|
mac_address = interface["address"]
|
||||||
c.run(f"echo {mac_address} > /mnt/data/etc/vestasync/macs/{ifname}")
|
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):
|
def check_vestasync_installed(c):
|
||||||
vestasync_path = "/mnt/data/etc/vestasync"
|
vestasync_path = "/mnt/data/etc/vestasync"
|
||||||
result = c.run(f"test -d {vestasync_path}", warn=True)
|
result = c.run(f"test -d {vestasync_path}", warn=True)
|
||||||
@ -263,6 +271,7 @@ def device_install(c):
|
|||||||
init_repo(c)
|
init_repo(c)
|
||||||
ppush_the_repo(c)
|
ppush_the_repo(c)
|
||||||
save_mac_in_cfg(c)
|
save_mac_in_cfg(c)
|
||||||
|
save_packages(c)
|
||||||
hostname = save_hostname(c)
|
hostname = save_hostname(c)
|
||||||
copy_wb_rule(c)
|
copy_wb_rule(c)
|
||||||
ppush_the_repo(c)
|
ppush_the_repo(c)
|
||||||
@ -298,6 +307,8 @@ def device_restore():
|
|||||||
git_clone(c)
|
git_clone(c)
|
||||||
copy_etc(c)
|
copy_etc(c)
|
||||||
restore_hostname(c)
|
restore_hostname(c)
|
||||||
|
if args.reinstall_packages is not None:
|
||||||
|
install_packages(c)
|
||||||
ppush_the_repo(c)
|
ppush_the_repo(c)
|
||||||
create_autogit_systemd(c)
|
create_autogit_systemd(c)
|
||||||
create_automac_systemd(c)
|
create_automac_systemd(c)
|
||||||
|
Loading…
Reference in New Issue
Block a user