目录
需求:
自建了一个ftp服务器, 要求从开发的机器定期同步某个目录的文件到ftp
1.windows%E6%9C%BA%E5%99%A8&zhida_source=entity" target="_blank" style="text-decoration-line: none; color: rgb(9, 64, 142); cursor: pointer;">windows机器
0.freeFileSync
可以用 那个另存为图标 ,将同步的功能 转成一个脚本存起来
然后用windows的 taskschd.msc 的计划任务,定时运行脚本
就可以定时目录同步到ftp
1.其他方案
winscp一直挂在机器上就可以了
按ctrl + U,开启同步监控
1.5 windows的bat脚本方案
https://github.com/wenyangke/bat/blob/master/autoCatch.bat
chcp 65001@echo off
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
setlocal enabledelayedexpansion
::上传到ftp服务器目标路径set newmac=6C-2B-59-54-D2-4E
::设置指定目录,多个目录用英文逗号隔开,如果路径中有空格,请给该路径加上英文双引号
set dire=C:\ftpMonitoring
::设置指定上传文件后缀名,多个后缀用英文逗号隔开,同样有空格的要用英文双引号括起来set ext=*.doc,*.docx,*.jpg,*png,*.pdf
::ftp上传失败出现的代码set failCode="421 425 426 450 451 452 500 501 502 503 504 530 532 550 551 552 553"set ftpulr=172.16.121.20set ftpuser=ftp123set ftppwd=12345678set ftpport=21::需要管理者模式运行for /f "tokens=12 " %%c in ('ipconfig /all ^| find /i "Physical"') do (
set mac=%%c echo !mac!):Loopset "Change="echo 正在监控文件夹中 ...for %%a in (%dire%) do (
:: 设置当前为执行下面命令的路径 pushd "%%~a"
for %%b in (%ext%) do (
for /f "delims=" %%c in ('dir /b "%%~b"') do (
echo 输入的是 "%%~a\%%~c"
set Change=1
goto label )
)):label
::判断是否成功上传到FTPset result=0if defined Change (
echo open %ftpulr% %ftpport%>openFtp.txt echo %ftpuser%>>openFtp.txt echo %ftppwd%>>openFtp.txt
::echo cd !mac!>>openFtp.txt echo cd %newmac%>>openFtp.txt
for %%a in (%dire%) do (
:: 设置当前为执行下面命令的路径 pushd "%%~a"
for %%b in (%ext%) do (
for /f "delims=" %%c in ('dir /b "%%~b"') do (
::二进制 echo binary>>openFtp.txt echo put "%%~a\%%~c">>openFtp.txt
::记录上传的文件 echo "%%~a\%%~c">moveFile.txt )
)
)
echo bye>>openFtp.txt echo Transport data......
ftp -s:openFtp.txt >execute.txt for /f %%c in (execute.txt) do (
echo %failCode%|findstr /c:"%%c">nul 2>nul && (
set result=1
)
)
if !result!==0 (
for /f "delims=" %%i in (moveFile.txt) do (
Md "uploaded" 2>nul echo %%i
move "%%~i" "uploaded\" ) ) )popdgoto Loop
2.linux机器
可以用ftp脚本来搞
本文链接:https://www.kinber.cn/post/4303.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: