winscp以命令行方式同步服务器数据到PC机磁盘上

目前服务器上每日会产生备份文件,需要使用winscp工具把备份同步到本地PC机硬盘上。平时都是图形界面用鼠标点击方式来同步的,效率低下,因此编写了winscp自动同步脚本,并加入到计划任务中定时自动运行。

1.在linux服务器创建备份专用帐号:

chattr -i /etc/{passwd,shadow,group,gshadow}
useradd bak_user
echo ‘123456789‘ | passwd --stdin bak_user
chattr +i /etc/{passwd,shadow,group,gshadow}
su - bak_user
exit

2.创建WINSCP同步脚本 c:\SERV_BAK.txt,该脚本用于同步数据到本地:

option echo off
option batch continue
option confirm off                                 #无需确认直接操作
option transfer binaryoption synchdelete on                              #服务端如果没有该文件,则将本地文件删除
open sftp://bak_user:[email protected]服务器IP:33302       #分别填入服务器帐号、密码、IP、ssh端口
cd /backup/bitmore.com                             #进入要同步的目录内,会将该目录下所有子目录和文件进行同步
lcd c:\bitmore.com                                 #进入本地目标目录,该目录要事先建立好,否则文件会传到winscp的程序目录下。
synchronize local                                  #相当于rsync,将有差异的数据由服务器端同步到本地。local:同步到本地。remote:同步到对端
close
exit

3.在windows端CMD窗口执行:

cd D:\Program Files (x86)\WinSCP
WinSCP.exe /console /script=c:\SERV_BAK.txt

如果有多个服务器要同步,每个服务器最好单独写一个winscp脚本。再组合成*.bat文件批量执行:
start /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=c:\SERV_BAK.txtstart /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=c:\SERV_BAK02.txtstart /min cmd /c "D:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=c:\SERV_BAK03.txt

以上命令会同时打开3个CMD窗口来执行。start:开启新窗口,/min:最小化运行主窗口,/c:原窗口关闭

4.添加windows计划任务,让同步操作定时自动完成:
运行——》taskschd.msc

搞定。下班后PC机保持开机即可。从此解放了双手。



输入help:
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 用一个本地目录同步远程目录

原文地址:https://www.cnblogs.com/hy007x/p/9454832.html

时间: 2024-11-05 16:56:28

winscp以命令行方式同步服务器数据到PC机磁盘上的相关文章

使用cmd命令行方式登录ftp上传下载数据

部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp .上传数据.下载数据的问题,这时候不妨使用一下命令行方式.命令行下可以避免很多由于ftp工具配置导致的问题,而且这种方式下下载数据的速率明显比使用ftp工具更快.下面就来看一下如何使用ftp 命令进行简单的上传下载数据.1.登录ftp在“开始”->”运行”中输入“cmd”,进入cmd命令行模式,接下来输入:ftp 118.193.22.151输入自己的网站ip地址,接下来会提示输入

RHEL7、CentOS7提供三种命令行方式方式来设置和显示日期

RHEL7.CentOS7提供三种命令行方式方式来设置和显示日期.时间.timedatectl是在RHEL7及CentOS7中新增的systemd的一部分,date是传统的日期时间设置命令,hwclock单元访问的是硬件时钟. 一.timedatectl [root@Geeklp-Administrator ~]# timedatectl Local time: 六 2017-12-16 19:49:53 CST Universal time: 六 2017-12-16 11:49:53 UTC

命令行连接mysql服务器时 报Can't connect to local MySQL server through socket 'xxx.sock'错误

本来之前用的好好的mysql服务器,突然就报Can't connect to local MySQL server through socket 'xxx.sock'错误了 遇到该问题思路首先是:检查 my.cnf 中 socket 配置的路径及权限. 但是查看完 没发现路劲权限有问题,最后跑去另一台同时配置的服务器上看  发现/data/perconadata有一个/mnt/perconadata/mysql.sock的软连接 于是乎到问题机器上 cd /data/perconadata/ s

mysql命令行导入和导出数据

MySQL中导出CSV格式数据的SQL语句样本如下: Sql代码   select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; [sql] view plain copy print? select * from test_info into outf

windows命令行下导入excel数据到SQLite数据库

1.转换文件格式,防止中文乱码:将excel保存成"CSV(逗号分隔)(*.csv)"格式,关闭文件,用记事本打开刚才保存的.csv文件,然后另存为UTF-8格式文本.需要注意的是,经过这样的转换,数字也全变成文本了. 2.通过adb shell(adb.exe存放在android开发软件安装文件夹中,如 F:\Develope\Tools\adt-bundle-windows-x86\sdk\platform-tools\)更改sqlite数据库的使用权限.运行adb之前要先打开AV

解决cordova命令行方式下build或者run的时候报错问题

phonegap3.0之后就将项目的生成方式做了很大的更改,原来是在eclipse里面修改生成并编译运行,但是3.0之后它的目录结构发生了很大变化,只修改主目录下面的index.html如果不build的话有时候是不起作用的,因为它的platform文件夹中还有各个平台的目录.比如安卓和IOS,在主目录www下面修改index.html之后必须要build才能生效,否则很多时候你会发现修改了不起作用,这是因为在assets目录下还有个www文件夹,真正运行的是这个文件夹下面的index.html

命令行方式使用abator.jar生成ibatis相关代码和sql语句xml文件

最近接手一个老项目,使用的是数据库是sql server 2008,框架是springmvc + spring + ibatis,老项目是使用abator插件生成的相关代码,现在需要增加新功能,要添加几张新表,可以目前网上下载的abator插件,在新版的eclippse EE中UI根本打不开,只有使用命令行方式来生成相关代码,将下载的abator插件解压出来,提取其中的abator.jar文件即可,其他的文件不需要.abator的配置文件如下: <?xml version="1.0&quo

go调用其它C库,若采用命令行方式,不支持重定向的输出解决;smp协议未打开,发送信息到对方,没人响应

很多时候要学会站在巨人的肩膀上,该用别人 现有的东东一定要用,只要是开源合法的 go调用其它C库,一般两种方式,1,查看是否有接口,采用cgo方式编写:2.采用命令行直接执行,前提必须被调用的C库已经安装运行在该机器上 为了高效处理gif文件,采用gifsicle工具 http://download.csdn.net/detail/u010026901/7711469 重定向符合 > 在代码中会出错,所以在代码中实现重定向代替命令行重定向 package main import ( // "

Ubuntu下命令行方式对PDF文件进行缩放、合并、拆分

安装软件: sudo aptitude install ghostscript 然后执行命令: gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=new_file.pdf original_file.pdf PDFSETTINGS参数说明: /screen - 最低精度方式输出,因为屏幕展示所需的精度很低/ebook - 中等精度输出/printer