[인터돌™] 공부 해보자!! 열심히~~~

반응형

목적

  1. 윈도우 특정 경로를 AWS S3 버킷에 IP 로 폴더를 만들어서 저장 (delete 옵션이 없으므로 올리기만 함)

  2. 윈도우 스케줄러에 삭제 스크립트를 등록해서 일정 기간이 지난 파일을 자동 삭제

환경

  - 윈도우 파워쉘 에서 수행

 

삭제 스크립트

  - 파일명 : AAAA.ps1

  - 내용 (AWS 윈도우 환경에서 특정 경로를 s3와 동기화 하는 구문)

$localIp = Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4
aws s3 sync D:/temp s3://awss3bucketname/depth1/depth2/$localIp
D:\script\logdelete.bat

 

  - 파일명 : logdelete.bat

  - 내용 (1일이 지난 파일 삭제 하는 샘플)

forfiles /p "D:\MyDocument\download\" /s /d -1 /c "cmd /c del /F /Q @path"
forfiles /p "D:\MyDocument\download\" /s /d -1 /c "cmd /c del /F /S /Q @path"
cmd 의 S 옵션이 있으면 실제 삭제되는 파일을 콘솔에 보여줌

 

자동 실행 설정

  - 윈도우 Task Scheduler 에 작업 추가

  - 설정된 인자 값 : -ExecutionPolicy Unrestricted -nolog -command "& D:\scripts\logbackup.ps1"

 

참고 URL

  - https://stackoverflow.com/questions/51054/batch-file-to-delete-files-older-than-n-days

  - https://ss64.com/nt/forfiles.html

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band