zoukankan      html  css  js  c++  java
  • 利用FTP自动同步两台电脑(不同网段)间的文件

    喜欢用MyBase来管理自己的知识,但一直以来因为多台电脑(主要是工作用机和自己电脑)间的同步问题,没有能够很得的收集知识,因为怕电脑间的mybase文件版本不同。今天终于想到了一个较为好的办法,那就是用FTP并结合任务调度进行自动的同步。
    目标:
    需要自动保持公司电脑和家里电脑FileBase.nyf这个文件的同步,不需要过多的人工参与。

    实现原理:
    1.估计一下每天的关机时间,利用Windows的任务调度在这个时间的前几分钟将文件上传至ftp服务器。
    2.同样利用Windows的任务调度,在机器启动时,自动备份本地FileBase.nyf文件,并从ftp服务器下载文件。

    实现方式(以本地存放路径D:\Application Data\mybase、本地任务调度文件:D:\Application Data\schedule、文件存放在远程服务器flashlm.com的temp目录下为例):
    1.文件上传

    mybase-upload.bat:
    echo "==================upload schedule %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%==================" >>"D:\Application Data\schedule\mybase-update.log"  rem记录动作时间到日志文件mybase-update.log中
    ftp
    -s:"D:\Application Data\schedule\mybase-upload.txt" flashlm.com >>"D:\Application Data\schedule\mybase-update.log" rem 调用mybase-upload.txt里的命令来ftp上传文件,并记录日志。


    mybase-upload.txt:

    flashlm    rem ftp用户名
    123456 rem ftp密码
    cd temp rem进入目录
    send
    "D:\Application Data\mybase\FileBase.nyf" rem上传文件
    quit 退出


    2.文件下载
    mybase-download.bat:

    echo "=================download schedule: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%=============" >>"D:\Application Data\schedule\mybase-update.log"  rem记录动作时间到日志文件mybase-update.log中
    set bakname
    =FileBase_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.nyf rem 根据当前日期时间生成备份文件名
    ren
    "D:\Application Data\mybase\FileBase.nyf" "%bakname%" rem 重命名(备份)
    ftp
    -s:"D:\Application Data\schedule\mybase-download.txt" flashlm.com >>"D:\Application Data\schedule\mybase-update.log" rem 调用mybase-download.txt里的命令来ftp下载文件,并记录日志。


    mybase-upload.txt:

    flashlm    rem ftp用户名
    123456 rem ftp密码
    cd temp rem 进入服务器目录
    lcd
    "D:\Application Data\mybase" rem 切换本地目录到目标路径
    get FileBase.nyf rem 下载文件
    quit


    3.建立任务
    根据实际需要,在“我的电脑-->控制面板-->任务计划”里添加若干个计划,按时进行上传下载即可。

    还可以将bat建立快捷方式,必要时手工同步。
    如果大家有其它好的文件同步方法,欢迎分享。

  • 相关阅读:
    Vuejs的一些总结
    vue.js中$emit的理解
    Vue.js——60分钟快速入门
    [ARC096E] Everything on It
    [ARC093E] Bichrome Spanning Tree
    [ARC093F] Dark Horse
    [ARC100F] Colorful Sequences
    卡特兰数 学习笔记
    【原】图练习
    【原】图
  • 原文地址:https://www.cnblogs.com/flashlm/p/UpdateFileBetweenComputers.html
Copyright © 2011-2022 走看看