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折腾一下!