python scp 备份

python 复制代码
[root@office_zabbix_9 data]# cat scp_foshan_102.100.py
import paramiko
from scp import SCPClient
from datetime import datetime

# 获取当天日期
today = datetime.now().strftime("%Y-%m-%d")

# 定义远程服务器和本地路径
print(today)
remote_path = f"/data/{today}_Config_backup/"  # 动态日期路径
local_path = "/data/foshan/"

# 创建 SSH 客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 自动接受主机密钥

# 连接到远程服务器
ssh.connect(hostname="192.168.102.100", username="root", password="密码啊")
print("成功连接到远程服务器!")

# 创建 SCP 客户端并执行文件拷贝
with SCPClient(ssh.get_transport()) as scp:
    scp.get(remote_path, local_path, recursive=True)
    print(f"文件已成功从 {remote_path} 拷贝到 {local_path}!")

# 关闭 SSH 连接
ssh.close()
[root@office_zabbix_9 data]#
[root@office_zabbix_9 data]#
[root@office_zabbix_9 data]#
[root@office_zabbix_9 data]# crontab  -l
30 5 * * * /usr/bin/python3.9 scp_foshan_102.100.py
  1. 获取当天日期

  2. 拼出远程服务器备份目录 /data/日期_Config_backup/

  3. 创建 SSH 连接到 192.168.102.100

  4. 使用 SCP 下载整个目录到 /data/foshan/

  5. 关闭连接

功能上没有大的问题,就是比较"初版"的写法:

  • 没有日志

  • 密码明文

相关推荐
如若1236 分钟前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
Knight_AL25 分钟前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing031 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209991 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河2 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新2 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
IT召唤狮2 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻2 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble2 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
薛定谔的猫-菜鸟程序员2 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师