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. 关闭连接

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

  • 没有日志

  • 密码明文

相关推荐
谢白羽4 小时前
SGLang的AWQ量化笔记
笔记·python·sglang
sakiko_5 小时前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
迷迭香yy5 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
清水白石0085 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h5 小时前
嵌入式从0到精通——线程
java·开发语言·jvm
一木 之林5 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
️学习的小王6 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
OPEN-F6 小时前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
小灰灰搞电子6 小时前
Rust+Slint 实现动态轮播图源码分享,支持动态删除、添加
开发语言·rust·slint·动态轮播图
前端 贾公子6 小时前
第09章:上下文与记忆 (6)
开发语言·前端·python