利用winscp同步liunx文件-加强版

/ 0评 / 0

Sandy在利用winscp同步liunx文件这篇文章介绍玩法。现在把它在重新翻出来,重新加强一下!

由于win下的bat知识比较薄弱,所以写的不够完美。这个帖子会持续更新下去!

好了我们开整吧!

1、建立新的空目录

例如我们创建的目录是c:\winscp\这个路径!

2、建立bat文件

我们在c:\winscp\目录下创建bat文件

2.1、winscp-e9china-net.bat

option batch on

option confirm off

open sftp://root:e9china.net@1.1.1.1

cd /home/wwwroot/e9china.net/wp-content/uploads

#同步不删除本地文件
synchronize remote c:\winscp\pic\e9china.net

#同步完成以后删除本地文件(2020年8月6日增加)
put -delete F:\pic\e9china.net\* /home/wwwroot/e9china.net/wp-content/uploads

call chmod -R 777 /home/wwwroot/e9china.net/wp-content/uploads

close

exit

2.2、sync-e9china-net.bat

cd "C:\Users\kingsoft\AppData\Local\Programs\WinSCP" 
WinSCP.com /script=c:\winscp\winscp-e9china-net.bat /log=c:\winscp\winscp-e9china-net.log

2.3、run.bat

@echo off
#删除7天前的数据
cd c:\winscp\pic
forfiles /p "c:\winscp\pic" /s /m *.* /d -7 /c "cmd /c del @path"
#第一个目录
cd c:\winscp\pic\e9china.net
forfiles /p "c:\winscp\pic\e9china.net" /s /m *.* /d -7 /c "cmd /c rd /s /q @path"
#第二个目录,由此递增!
#cd c:\winscp\pic\e9china.net
#forfiles /p "c:\winscp\pic\e9china.net" /s /m *.* /d -7 /c "cmd /c rd /s /q @path"
echo now run the sync-*.bat
#第一个目录
start /D "c:\winscp" sync-e9china.net.bat
#第二个目录,由此递增!
#start /D "c:\winscp" sync-e9china.net.bat
echo over

3、运行

双击run.bat文件运行

4、win计划任务

这个自己去度娘或者google找找教程吧!每次运行的时间看你是国内还是国外的服务器。比如sandy是国内腾讯云到德国。那么sandy就定为12个小时执行一下。图片太多传输会比较慢!

5、弊端

这个脚本涉及到linux的root超级密码,你的win服务器一黑全都完蛋!所以sandy建议你开一个非root账户,但是对/home/wwwroot/e9china.net/wp-content/uploads目录有写入权限的账户!这样会安全很多!

6、题外话

win下和linux下的同步让Sandy伤透了脑筋。不想linux to linux一样有rsync这样的利器!大家有什么好的工具可以留言告诉Sandy折腾一下!

发表评论

邮箱地址不会被公开。 必填项已用*标注