1、备份文件
import os
import shutil
config_dir = "/root/python/to/config/files/"
backup_dir = "/root/python/to/backup/"
for filename in os.listdir(config_dir):if filename.endswith('.conf'):file_path = os.path.join(config_dir, filename)backup_path = os.path.join(backup_dir, filename)shutil.copy(file_path, backup_path)print(f"Backup of {filename} completed")
2、安装pip
wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
python3 get-pip.py

3、将备份文件传送到远程主机上进行备份
import os
import shutil
import paramiko
local_config_dir = "/root/python/to/config/files/"
remote_backup_dir = "/root/python/to/backup/"
remote_host = "192.168.1.101"
remote_username = "root"
remote_password = "your_password"
if not os.path.exists(local_config_dir):print(f"Local directory {local_config_dir} does not exist.")exit(1)
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:print(f"Connecting to {remote_host}...")ssh.connect(remote_host, username=remote_username, password=remote_password)sftp = ssh.open_sftp()print(f"Checking remote directory {remote_backup_dir}...")try:sftp.stat(remote_backup_dir)print(f"Directory {remote_backup_dir} already exists.")except IOError:print(f"Directory {remote_backup_dir} does not exist. Creating...")sftp.mkdir(remote_backup_dir)for filename in os.listdir(local_config_dir):file_path = os.path.join(local_config_dir, filename)backup_path = os.path.join(remote_backup_dir, filename)if os.path.isfile(file_path):print(f"Transferring {file_path} to {backup_path}...")sftp.put(file_path, backup_path)print(f"Transfer of {filename} completed.")finally:print("Closing SSH connection...")ssh.close()