win 7, 10, 11 에서 잘 쓰고 있는 ftp 자동 백업 배치(batch,bat ) 파일 입니다.
제가 하고자 했던거는, 날마다 작업 한거, 자동으로 ftp server 에 올리기 입니다.
ftp 사용법, ftp 서버 등 자세한 설명은 본문에서 하지 않읍니다.
방법은,
1. bat 파일 만들기
2. win 에서 매일 새벽 3시에 bat 실행 설정 하기
3. 서버 설정 하기
4. 매일 작업한거 올려질 dir 에 복사 하기
5. 컴퓨터 매일 켜놓기
입니다.
==========================================
1. bat 파일 만들기
1) 먼저 아래 소스를 e:\_bu\batch\_buNalMaDa.bat 로 저장 (첨부 파일 받으셔도 됩니다) 하셔요.
> 사실 이게 다 입니다.
;goto begin_bat
prompt off
user bahk wonyong
mput *.*
disconnect
bye
==============================================
bat 실행 설정부:
> at 01:11 /every:30 E:\_bu\_buNalMaDa.bat
: 매달 30일 마다
> at 03:03 /every:Su cmd /c E:\_bu\_buNalMaDa.bat
: 매주 일요일 마다 번
> at 03:03 /every:M,T,W,Th,F,S cmd /c E:\_bu\_buNalMaDa.bat
: 거의 매일.. 일요일 빼구
> at 03:01 /every:W cmd /c E:\_bu\_buNalMaDa.bat
: 매주 수요일 마다
> at 03:03 /every:M,T,W,Th,F,S,Su cmd /c E:\_bu\_buNalMaDa.bat
: 매일..
win 11 에서는 at 이 안되고 scktasks 를 써야 한다.
> schtasks /create /sc daily /tn "bahkBU" /tr "E:\_bu\_buNalMaDa.bat" /st 03:03
==============================================
:begin_bat
e:
cd e:\_bu
c:\windows\system32\ftp -v -n -s:"%~f0" ftp.corea.com&GOTO:end_ftpup
:end_ftpup
pause
2) 본 스크립트 소스는 2개 부분 입니다.
> ftp 스크립트 ( bye 까지 )
> bat file script ( :begin 부터 )
> bat 실행 설정부 는 실행 되지 않으며, 아래에서 풀이 합니다,
3) batch 파일 부분
> bat script 시작으로 가기
> ftp script 부분 건너 뛰고 batch cmd script 가 있는 부분으로 갑니다.
;goto begin_bat // ftp 스크립트 부분 건너 뛰고, bat script 시작으로 가기
~
~ ftp 스크립트 부분
:begin_bat
~
~ cmd batch 스크립트 부분
> bat cmd 시작
> ftp 로 올릴 파일들이 있는 곳으로 갑니다.
> 여기서는 "e:\bu" 이 올릴 파일들이 있는 곳 입니다.
e: // e: 드라이브로 가기
cd e:\_bu // e:\_bu 로 가기
> ftp server 접속 및 파일 올리는 곳
c:\windows\system32\ftp -v -n -s:"%~f0" ftp.corea.com&GOTO:end_ftpup
:end_ftpup
> 첫줄은
- ftp 실행 : c:\windows\system32\ftp
- ftp script 로 자기 자신 파일을 이용 하라 : -s:"%~f0"
- ftp 서버는 "ftp.corea.com" 이다 :
- ftp 가 끌나면, ":end_ftpup" 로 가라 : &GOTO:end_ftpup
> 두번째줄
- ftp 작업 끝나고 갈 곳 지정 :end_ftpup
4) ftp 스크립트 부분
prompt off // 파일 여러개 올릴때(mput 사용) 자꾸 묻지 마라
user bahk wonyong // 사용자 id 와 password 는 bahk 과 wonyong 이다
mput *.* // 모든 파일 올려라
disconnect // 서버 연결 끊어라
bye // ftp 프로그램 끝내라
5) 뭐 사실 선수는 이정도만 보시면 아실 거 입니다만,
쓰는김에 좀더 씁니다.
2. win 에서 매일 새벽 3시에 bat 실행 설정 하기
> "at" 를 씁니다. win 11 의 경우는 at 이 안되고 "schtasks" 를 씁니다.
> 여기서는 간단히 풀이 합니다, 죄송 하지만 자세한것은 at, schtasks 를 찾어 보셔요
1) at
> at 01:11 /every:30 E:\_bu\_buNalMaDa.bat
: 매달 30일 마다 1시11분 에
> at 03:03 /every:Su cmd /c E:\_bu\_buNalMaDa.bat
: 매주 일요일 마다 3시3분에
> at 03:03 /every:M,T,W,Th,F,S cmd /c E:\_bu\_buNalMaDa.bat
: 거의 매일.. 일요일 빼구
> at 03:01 /every:W cmd /c E:\_bu\_buNalMaDa.bat
: 매주 수요일 마다
> at 03:03 /every:M,T,W,Th,F,S,Su cmd /c E:\_bu\_buNalMaDa.bat
: 매일..
2) schtasks
> win7,10 은 at 을 쓴거 같은데, 11은 안된다 하는 군요.
> schtasks /create /sc daily /tn "bahkBU" /tr "E:\_bu\batch\_buNalMaDa.bat" /st 03:03
간단풀이
- /create : 스케줄 만들어라
- /sc daily : 날마다 해라 schedule
- /tn "bahkBU" : 이름은 bahkBU 이다, 맘대로 정하시면 됩니다. task name
- /tr "E:\_bu\_buNalMaDa.bat" : 실행할 파일은 이거다. task run ?
- /st 03:03 : 오전 3시3분해 해라 start
* 저는 지금은 win11 을 사용하여 schtasks 로 하였읍니다.
즉 매일 3시 3분에 E:\_bu\batch\_buNalMaDa.bat 을 실행 하라 입니다.
3. 서버 설정하기
> 저는 서버로 파일질라 FileZilla server 를 이용 하였읍니다.

> 백업용이고, 파일 지워지는거 방지 하기 위하여 Delete 는 뺐읍니다.
4. 매일 작업한거 올려질 dir 에 복사 하기
> 날마다 작업 하신것을 "e:\_bu" 에다가 복사하여 놓으셔요.
> 그리고, 배치 파일을 직접 실행 하면, 동작 하는 거 확인 하실수 있읍니다.
> 작업뒤 서버에 실제 파일들이 올라 가 있는지 확인 하실수 있읍니다.
5. 컴퓨터 매일 켜놓기
> 아침 9시에 출근 해 보면, 모니터에 cmd 창이 떠 있는것을 보실수 있읍니다.

> Permission denied: 이미 올려진 파일들 은 추가로 올리면서 에러 납니다. 상관 없지요
> pause 가 없으면, 실행 끝나고 창 닫어 버리니, 작업을 했는지 안했는지 모르니 있는게 좋읍니다.
> 내용 정리하여 메모창으로 옮겼읍니다.

> Text 로도 올립니다. 뱀다리 인가 ?
E:\_bu\batch>goto begin_bat
E:\_bu\batch>e:
E:\_bu\batch>cd e:\_bu
e:\_bu>c:\windows\system32\ftp -v -n -s:"E:\_bu\_buNalMaDa.bat" ftp.corea.com & GOTO:end_ftpup
Please log in with USER and PASS first.
ftp> ;goto begin_bat
올바르지 않은 명령입니다.
ftp> prompt off
대화형 모드 끔 .
ftp> user bahkwy bahk00
ftp> mput *.*
Permission denied
Permission denied
:
:
Permission denied
Permission denied
ftp> disconnect
ftp> bye
e:\_bu>pause
계속하려면 아무 키나 누르십시오 . . .
* 첨부
위 파일 첨부 합니다.
수고 하셨읍니다.
사실 간단한거 같지만, 큰 기능을 한다고 봅니다.
어렵게 모아 만들었읍니다...
도움이 되셨으면, 댓글 부탁합니다. 댓글 하나에 힘이 됩니다.
고맙읍니다.
'개발 > ms window' 카테고리의 다른 글
| WinRE(Windows Recovery Environment), 고급 시작 옵션, 고급 부팅 옵션 (0) | 2025.09.10 |
|---|---|
| win10, win11 암호 분실 하였을때 복구 방법 (6) | 2025.08.20 |
| windows 11 win11, win10 환경 변수 설정 하기 (0) | 2025.01.17 |
| windows update 문제, 설치 관리자 오류 0x80070422 해결 하기 (0) | 2024.12.15 |
| XpMode,VirtualBox: WinXP를 win7,win10,win11 에 설치- Virtual Box 방식 (0) | 2024.12.15 |