通过winscp软件实现windows与linux目录数据同步

问题现象:需要将linux目录下的数据同步到windows目录下,布置rsync步骤麻烦

问题分析:windows下使用winscp可以拷贝数据

问题解决:通过编写脚本,实现windows与linux目录数据同步

1、下载winscp软件安装在windows系统上
winscp下载地址:https://winscp.net/eng/index.php

2、在winscp的安装目录下创建一个同步脚本

#以下放置到winscp根目录,文件名 bak.txt

option batch continue
option confirm off                                     
option transfer binary
option synchdelete on                               
open sftp://username:[email protected]:22   
cd /usr/local/dbbak/mysql                                
lcd D:\data_bak                                          
synchronize  local          
close
exit


open sftp://用户名:密码@linux服务器IP地址:端口
cd /linux服务器需要同步的目录路径
lcd windows系统需要同步文件夹路径
synchronize local|remote|both ‘local’-远程向本地同步|‘remote’-本地向远程同步|‘both’-互相同步

如果需要同步后删除文件,可以使用rm

3、创建一个同步执行批处理:autosync.bat,放在winscp安装根目录内上,调用bak.txt执行同步

@echo off

cd C:\Program Files (x86)\WinSCP

winscp.com   /script=bak.txt  /ini=Winscp.ini   /log=log.txt
/script=调用的winscp命令脚本
/ini=Winscp.ini默认配置文件
/log=生产的日志文件

4、添加windows计划任务并启动

5、winscp指令如下:

winscp> help
call     执行任意远程Shell命令
cd       改变远程工作目录
chmod    改变远程文件权限
close    关闭会话
exit     关闭所有会话并结束程序
get      从远程目录下载文件到本地目录
help     显示帮助
keepuptodate 在一个远程目录连续反映本地目录的改变
lcd      改变本地工作目录
lls      列出本地目录的内容
ln       新建远程符号链接
lpwd     显示本地工作目录
ls       列出远程目录的内容
mkdir    新建远程目录
mv       移动或者重命名远程文件
open     连接到服务器
option   设置或显示脚本选项的值
put      从本地目录上传文件到远程目录
pwd      显示远程工作目录
rm       删除远程文件
rmdir    删除远程目录
session  列出连接的会话或者选择活动会话
synchronize 用一个本地目录同步远程目录

你可能感兴趣的:(每日感悟,linux,windows,服务器)