吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5737|回复: 23
收起左侧

[原创工具] (更新)远程服务器文件备份,SCP文件传输工具

  [复制链接]
lyc921201 发表于 2025-2-6 08:25
本帖最后由 lyc921201 于 2025-2-14 15:48 编辑

V2.5版本更新:


结合大家的需求,对软件进行了功能更新,下面是更新明细:

1、        增加功能:支持双向备份,可上传或下载
2、        增加功能:支持定时备份,最小为60秒,默认为1小时
3、        增加功能:增加端口号,默认22,支持修改
4、        增加功能:支持备份文件夹功能,当备份文件夹功能时,注意远程服务器的路径填写正确,以“\”结尾。比如以下格式:\backup\media\
5、        增加功能:本地路径支持手动选择,避免填写错误
6、        功能优化:为了安全考虑,密码只能手动输入,不支持复制
7、        UI优化:优化界面布局,使看起来更合理。
image.png

当前版本已知BUG(下次修复):
1、        任务传输过程中,点击取消传输按钮有可能会意外无响应
2、        传输文件夹时,进度条显示不正确

下载地址: https://pan.baidu.com/s/1vf4UuqRHyShmDaIGjiq5aQ?pwd=eqh5 提取码: eqh5






过年期间,闲着无聊做了一个远程服务器文件备份一键备份工具,理论上支持SSH登录的服务器都可以使用,有需要的小伙伴可下载试用。

新手小白,欢迎各位提出宝贵意见。

希望能和各位技术大佬一起学习进步!
image.png image.png image.png

部分代码展示:

import tkinter as tk
from tkinter import ttk, messagebox
import paramiko
from scp import SCPClient
import time
import threading

class SCPTransferApp:
def init(self, root):
self.root = root
self.root.title("SCP文件传输工具(从远程到本地)By:小栗")

    # 初始化传输相关变量
    self.start_time = None
    self.last_update_time = None
    self.last_bytes = 0
    self.total_size = 0
    self.transferred_size = 0
    self.stop_transfer = False
    self.ssh = None
    self.scp = None
    self.transfer_thread = None

    # 控件布局
    self.create_widgets()

def create_widgets(self):
    # 本地路径
    tk.Label(self.root, text="本地路径:").grid(row=0, column=0, padx=10, pady=5)
    self.local_path = tk.Entry(self.root, width=50)
    self.local_path.grid(row=0, column=1, padx=10, pady=5)

    # 远程主机
    tk.Label(self.root, text="远程主机:").grid(row=1, column=0, padx=10, pady=5)
    self.remote_host = tk.Entry(self.root, width=50)
    self.remote_host.grid(row=1, column=1, padx=10, pady=5)

    # 远程用户
    tk.Label(self.root, text="远程用户:").grid(row=2, column=0, padx=10, pady=5)
    self.remote_user = tk.Entry(self.root, width=50)
    self.remote_user.grid(row=2, column=1, padx=10, pady=5)

    # 远程密码
    tk.Label(self.root, text="远程密码:").grid(row=3, column=0, padx=10, pady=5)
    self.remote_password = tk.Entry(self.root, width=50, show="*")
    self.remote_password.grid(row=3, column=1, padx=10, pady=5)

    # 远程路径
    tk.Label(self.root, text="远程路径:").grid(row=4, column=0, padx=10, pady=5)
    self.remote_path = tk.Entry(self.root, width=50)
    self.remote_path.grid(row=4, column=1, padx=10, pady=5)

    # 进度条
    self.progress = ttk.Progressbar(self.root, orient="horizontal", length=400, mode='determinate')
    self.progress.grid(row=5, column=0, columnspan=2, pady=5)

    # 传输信息显示
    self.transferred_label = tk.Label(self.root, text="已传输: 0 B / 0 B")
    self.transferred_label.grid(row=6, column=0, columnspan=2)

    self.speed_label = tk.Label(self.root, text="速度: 0 B/s")
    self.speed_label.grid(row=7, column=0, columnspan=2)

    self.time_label = tk.Label(self.root, text="剩余时间: --")
    self.time_label.grid(row=8, column=0, columnspan=2)

    # 按钮框架
    button_frame = tk.Frame(self.root)
    button_frame.grid(row=9, column=0, columnspan=2, pady=10)

    # 传输按钮
    self.transfer_button = tk.Button(button_frame, text="下载文件", command=self.start_transfer)
    self.transfer_button.pack(side=tk.LEFT, padx=10)

    # 取消按钮
    self.cancel_button = tk.Button(button_frame, text="取消传输", command=self.cancel_transfer, state=tk.DISABLED)
    self.cancel_button.pack(side=tk.LEFT, padx=10)

    # 清空按钮
    self.clear_button = tk.Button(button_frame, text="清空信息", command=self.clear_fields)
    self.clear_button.pack(side=tk.LEFT, padx=10)



下载地址: https://pan.baidu.com/s/1xbI2VZUURSec7K_uv2bg8Q?pwd=6nc2 提取码: 6nc2

免费评分

参与人数 6吾爱币 +12 热心值 +6 收起 理由
★天若有情★ + 1 + 1 热心回复!
hhtwy + 1 + 1 谢谢@Thanks!
zhangwei6929 + 1 + 1 谢谢@Thanks!
艾爱姆Joker + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
viconly + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lty9009 发表于 2025-2-9 20:20
好东西  我 加一碗兰州拉面

https://lty9009.lanzout.com/b02f74p3dg
密码:52pj
 楼主| lyc921201 发表于 2025-2-10 13:14
blhying 发表于 2025-2-10 13:11
哪是备份哪里文件夹里,就在哪个文件夹里运行这个软件?

软件的本地路径就是备份到本地的路径,软件在电脑哪个位置都不影响
 楼主| lyc921201 发表于 2025-2-10 10:27
blhying 发表于 2025-2-9 22:25
这个是把远程备份到本地,还是把本地备份到远程?或是远程备份到远程啊?

远程备份到本地
 楼主| lyc921201 发表于 2025-2-6 16:43
advfree 发表于 2025-2-9 13:34
感谢分享!
zy1210 发表于 2025-2-9 14:04
感谢大佬的分享
blhying 发表于 2025-2-9 22:25
这个是把远程备份到本地,还是把本地备份到远程?或是远程备份到远程啊?
我在路上 发表于 2025-2-10 11:33
用宝塔就行
xiguapi66 发表于 2025-2-10 11:48
留存,感谢分享
阿国网络 发表于 2025-2-10 12:43
本帖最后由 阿国网络 于 2025-2-10 12:48 编辑

提出错误:传输失败: scp: /data/dmbackup: not a regular file
原来是远程路径只能填写上文件名称,我觉得这个可以只写上相关文件格式或者只对最新文件下载比较好点,还可以设定自动定时模式
密码只能手动输入,不能粘贴上去。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-7-20 17:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表