from pathlib import Path import datetime,shutil,sqlite3,subprocess root=Path('/home/ps/huobao-model-bridge') candidate=root/'bridge-image-pool.candidate.py' compile(candidate.read_text(),str(candidate),'exec') backup=root/'backups'/('image-pool-'+datetime.datetime.now().strftime('%Y%m%d-%H%M%S')) backup.mkdir(parents=True,mode=0o700) shutil.copy2(root/'bridge.py',backup/'bridge.py') shutil.copy2(root/'config.json',backup/'config.json') with sqlite3.connect(root/'state/jobs.sqlite3') as src,sqlite3.connect(backup/'jobs.sqlite3') as dst:src.backup(dst) shutil.copy2(candidate,root/'bridge.py') subprocess.run(['docker','restart','huobao-model-bridge'],check=True) print('Updated only the Huobao bridge; model jobs and credentials preserved. Backup:',backup)