win系统与linux系统之间文件备份

需求:

win主机上一个目录为备份目录,每天都会有增量文件,而我们要将这些增量文件全部copy到异地linux主机,如下图

win主机:

1、安装 rsync 客户端 (cwRsync)

2、同步脚本

linux主机:

1、安装rsync服务即可

linux配置:

linux的rsync的配置如下:

[tfsbackup]
path=/data/tfsbackup
comment=tfsbackup
ignore errors = yes
read only=no
write only=no
hosts allow=*
hosts deny=*
list=false
auth users=rsync
secrets file=/etc/rsyncd.secrets

win配置:

1、安装 cwRsync (附件中可以下载 或 https://www.itefix.net/cwrsync)

将文件解压,变量配置即可,命令行测试通过即可。

2、同步脚本如下:脚本名暂定 tfs.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

"""
filename:tfs.py
function:检索指定目录下的1天内的文件,同步到服务器上。
"""
import os
import time
import glob
import subprocess
import os.path

expires = 172800                 #时间戳差值在2天,为了保险会校验两天内的增量文件
currentTime=int(time.time())    #获取当前时间戳

args=r‘-az‘
remotehost =r‘[email protected]::tfsbackup‘
passwordFile=r‘--password-file=/cygdrive/c/cwrsync/rsyncd.secrets‘
path = r‘E:\tfs\*‘
comm=r‘c:\cwRsync\rsync.exe‘

#以上为rsync最后的命令表现形式;/cygdrive/c/cwrsync/rsyncd.secrets表示c盘下的cwrsync/rsyncd.secrets文件。

srcpath=r‘/cygdrive/e/tfs/‘        #/cygdrive/e/表示windows系统的E盘,

filelist = glob.glob(path)  #获取给定路径下所有文件名

#过滤出最近2天内的文件,
def checkFileTime(filename):
    fileTime = os.stat(filename).st_mtime
    if (currentTime - fileTime > expires):
        pass
    else:
        filename = os.path.basename(filename)
        srcfile=srcpath+filename
        rsyncFile(srcfile)
#rsync到远程主机上
def rsyncFile(file):
    cmd = "%s %s %s %s %s" %(comm,args,file,remotehost,passwordFile)
    result = subprocess.call(cmd)
    if result != 0:
        print "rsync to " , remotehost , " fail ! !"
        time.sleep(10)
    else:
        print file , "rsync to " , remotehost , "successful !"

for filename in filelist:
    checkFileTime(filename)

因为备份的win主机上没有权限安装Python环境。所以转换到exe执行程序就可以了。

PyInstaller恰满足这个需求。本文PyInstaller的版本是2.0,支持Python2.7。下面讨论怎样安装,使用PyInstaller。

PyInstaller本身并不属于Python包。在安装 pyinstaller 之前假设你已经安装了python ,注意把python 环境变量配置好, 即 进入cmd后 输入 python 会进入 python shell.

pyinstaller安装:

1,下载pyinstaller并解压(可以去官网下载最新版)

C:\pyinstaller-2.0

2,安装最新版本的 pywin32-217.win32-py2.7.exe:

不然会出现错误Error: PyInstaller for Python 2.6+ on Windows needs pywin32.

3、

C:\Users\xisuo>cd C:\pyinstaller-2.0
C:\pyinstaller-2.0>python pyinstaller.py -w --onefile D:\py\tfs.py

上面的命令成功运行后tfs.py 会生成一个tfs文件夹。在这个文件夹下面会有一个名为dist的文件夹,此文件夹下面有转换好的tfs.exe。

当你执行文件tfs.exe即可rsync到远程主机上。做计划任务即可。

时间: 2024-10-10 07:48:41

win系统与linux系统之间文件备份的相关文章

Windows系统与Linux系统之间资源samba共享【转】

配置SAMBA服务器来实现在Windows计算机与Linux计算机之间的用户级的资源共享,九河网络TOM[2694339173]教你怎样操作: SAMBA服务器的基本配置 配置SAMBA服务器来实现在Windows计算机与Linux计算机之间的用户级的资源共享 一.安装SAMBA服务 # yum -y install samba samba-client 二.创建samba目录 # mkdir /home/samba # touch /home/samba/hello 三.创建test用户名和密

如何用windows系统访问Linux系统的web网站

我所使用的是windows7的虚拟机与Linux6.5(64位)的操作系统. 链接的是VMnet1的网卡,在windows7上配置的IP地址是192.168.1.200:在Linux系统上配置的IP地址是192.168.1.100.首先是配置IP地址让windows7与Linux系统互通.然后是在Linux上搭建服务. 下面是详细步骤: 在windows7上配置ip地址. 在Linux上配置IP地址,但有时候在这里配置地址时不一定生效所以还要在伪终端上查看已下IP地址的配置 查看IP地址的配置

windows系统访问linux系统samba服务案例

Windows访问linux系统samba服务 案例:某公司(xxxcompany)有研发部,运维部,网络部,人力资源部,财务部,综合部,采购部,市场部.这8个部门需要分享资源 要求: 研发部有自己的目录:devlopment.研发部的目录研发部所有员工和运维manager可以访问下载,但是只有研发manager可以下载,修改和上传 运维部有自己的目录:operation.运维部的目录运维部所有员工和研发manager可以访问下载,但是只有运维manager可以下载,修改和上传 网络部有自己的目

从Windows系统到Linux系统转变的5大要点

当我在 Algoma  (阿尔格玛)大学开始我现在的工作,一个图书系统管理员,我实在是对我的工作没有什么信心.尽管我在图书信息技术上有十年经验,对于我的第一个任务——协助开发和管理 Evergreen —一个 开源 的图书目录系统,我还是有些忐忑.最大的问题在于:我从前基本上都是在 Windows 系统下工作的. 最开始我对情况还有些乐观,毕竟我曾经也在很短的时间内学习掌握一项新的技能.但是三周后,我意识到我应该是遇到了难题.到底要怎样从一个在 Windows 系统下工作的人转变成一个合格的 L

华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核

Linux系统rescue模式下修复内核和grub 故障现象 处理思路,内核报错,因此重新安装内核,通过光盘启动,进入救援模式.1.进入救援模式(1)华为服务器没有光驱,通过mgmt管理口登录,挂载iso镜像来引导.连接服务器mgmt口至数据中心网络,浏览器登录,默认IP地址192.168.2.100,默认账号root,默认密码Huawei12#$.登录如下图 单击远程控制链接,进入远程控制管理页面,选择独占模式,如下图 打开远程管理控制台,java信息提示,点击继续这里要求远控操作电脑安装好j

window、linux系统与linux服务器之间使用svn同步及自动部署代码的方法

摘要: 在家用PC,在公司用办公电脑对一个项目的代码进行修改时,会遇到代码同步的问题.本文讲解了代码同步及自动部署的解决办法. 实现方法: 1.首先在linux服务器上和linux上安装svn(sudo yum install svn). 2.然后在服务上创建一个版本库并配置用户及权限,这点网上的方法多的是,自行百度. 3.在linux客户端使用svn命令进行同步,具体如下: svn co svn://(ip地址)  (保存文件的文件夹)    ##检出版本库.第一次要输入用户名和密码. 将需要

RTOS系统与Linux系统的区别

RTOS是实时操作系统 Linux是时分系统,不过可以通过配置内核改成实时系统 分时操作系统 英文:Time-sharing Operating System  释义:使一台计算机同时为几个.几十个甚至几百个用户服务的一种操作系统.把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空 间按一定的时间间隔,轮流地切换给各终端用户的程序使用.由于时间间隔很短,每个用户的感觉就像他独占计算机一样.分时操作系统的特点是可有效增加资源的 使用率.例如UNIX系统就采用剥夺式动态优先的CPU

商城系统在linux系统中定时备份MySQL数据库并删除七天前的备份文件

数据库是商城软件中重要的组成部分,定时任务能周期性地自动执行中的程序必要的业务逻辑,以DSMall开源商城系统每日店铺结算的业务逻辑为例:!/bin/bash?Name:bakmysql.sh?This?is?a?ShellScript?For?Auto?DB?Backup?and?Delete?old?Backup备份地址backupdir=/home/mysqlbackup备份文件后缀时间time=`?date?+%Y%m%d%H%M%S?<br/>需要备份的数据库名称<br/>

Windows Linux双系统 删除 Linux 系统

首先修复引导,之前是先安装Windows后安装Linux,所以引导是Linux的 先需要修复其引导为Windows, 先下载MbrFix,网上说64位需要下载4位,实测都可以. 下载好以后,就在C盘用管理员打开命令行. 输入 MbrFix /drive 0 fixmbr /yes 然后没任何提示,就说明成功了. 然后在电脑的磁盘管理器里删除Linux分区就可以了. 原文地址:https://www.cnblogs.com/anloveslife/p/12079467.html