ftp툴로 업로드를 하면 하나의 디렉터리에 파일이 많은 경우 파일 하나씩 업로드할 때마다 ls를 날려 반응이 점점 늦어진다..
수만개 이상 파일이 되었을때는 ls없이 그냥 업로드 하는 것이 낫다.
그래서 DOS Prompt에서 여러개를 띄워 한 번에 날리는 방법을 선택하여 수십만개의 파일을 빠른 시간에 던지는 것이 가능했다.
우선 아래 코드를 lwftpupload.bat파일로 만든다.
@echo off
SET svraddr=ftp.littleworld.net
SET svrlogin=root
SET svrpwd=password
SET svruppath=%2
SET localpath=%1
echo user %svrlogin%>ftpcmd.txt
echo %svrpwd%>>ftpcmd.txt
echo bin>>ftpcmd.txt
echo prompt>>ftpcmd.txt
echo cd %svruppath%>>ftpcmd.txt
echo mput %localpath%\*.jpg>>ftpcmd.txt
echo quit>>ftpcmd.txt
echo on
ftp -n -s:ftpcmd.txt %svraddr%
그리고 DOS Prompt에서 다음을 실행한다.
D:\>lwftpupload.bat d:\inetpub\littleworld.net\image/*.jpg /littleworld.net/image
파일이 많은 경우 하위 디렉토리를 여러개 만들어서 DOS창을 여러개 띄운뒤에 같이 실행을 하면 10개 정도 띄워서 커맨드를 날리면 거의 10배 속도로 업로드가 된다.
단, 용량이 작은 이미지 파일의 경우 효율이 좋고 트래픽을 다 잡아먹는 경우는 창을 띄워도 한계가 있으니 갯수를 트래픽을 봐가면서 조절하는 것이 좋다.
수만개 이상 파일이 되었을때는 ls없이 그냥 업로드 하는 것이 낫다.
그래서 DOS Prompt에서 여러개를 띄워 한 번에 날리는 방법을 선택하여 수십만개의 파일을 빠른 시간에 던지는 것이 가능했다.
우선 아래 코드를 lwftpupload.bat파일로 만든다.
@echo off
SET svraddr=ftp.littleworld.net
SET svrlogin=root
SET svrpwd=password
SET svruppath=%2
SET localpath=%1
echo user %svrlogin%>ftpcmd.txt
echo %svrpwd%>>ftpcmd.txt
echo bin>>ftpcmd.txt
echo prompt>>ftpcmd.txt
echo cd %svruppath%>>ftpcmd.txt
echo mput %localpath%\*.jpg>>ftpcmd.txt
echo quit>>ftpcmd.txt
echo on
ftp -n -s:ftpcmd.txt %svraddr%
그리고 DOS Prompt에서 다음을 실행한다.
D:\>lwftpupload.bat d:\inetpub\littleworld.net\image/*.jpg /littleworld.net/image
파일이 많은 경우 하위 디렉토리를 여러개 만들어서 DOS창을 여러개 띄운뒤에 같이 실행을 하면 10개 정도 띄워서 커맨드를 날리면 거의 10배 속도로 업로드가 된다.
단, 용량이 작은 이미지 파일의 경우 효율이 좋고 트래픽을 다 잡아먹는 경우는 창을 띄워도 한계가 있으니 갯수를 트래픽을 봐가면서 조절하는 것이 좋다.
댓글
댓글 쓰기