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()