IT 기술 문서

2025.02.03 12:52

윈도우 작업 스케줄러(Task Scheduler)와 배치파일(.bat) 연동 가이드

  • it2033 2일 전 2025.02.03 12:52
  • 10
    0

alt text

자동 실행을 위한 작업 스케줄러 활용법

윈도우에서 특정 시간에 작업을 자동 실행하려면 작업 스케줄러(Task Scheduler)를 활용하는 것이 가장 효과적입니다.

이번 글에서는 배치파일(.bat)과 작업 스케줄러를 연동하는 방법, 실무에서 활용할 수 있는 다양한 자동화 사례를 소개합니다.


✅ 작업 스케줄러란?

작업 스케줄러(Task Scheduler)는 윈도우에서 특정 시간, 이벤트 발생 시 프로그램을 자동 실행하는 기능을 제공합니다.

이를 활용하면 백업, 유지보수, 네트워크 재설정, 로그 분석 등 다양한 작업을 자동화할 수 있습니다.


✅ 작업 스케줄러 기본 설정 방법

1️⃣ 작업 스케줄러 실행 방법

  1. Win + R을 누르고 taskschd.msc 입력 후 실행

  2. 작업 스케줄러 라이브러리에서 새 작업 만들기 선택

  3. 일반 탭에서 작업 이름 설정 (예: "자동 백업")

  4. 트리거 탭에서 실행 주기 설정 (예: 매일 오전 2시)

  5. 동작 탭에서 실행할 배치파일 지정 (예: C:\scripts\backup.bat)

  6. 저장 후 작업을 실행하여 정상 동작 확인



✅ 명령어로 작업 스케줄 추가하기

GUI에서 설정하는 것 외에도, schtasks 명령어를 사용하여 작업을 등록할 수 있습니다.

예제: 매일 오전 2시에 배치파일 실행

schtasks /create /tn "DailyBackup" /tr "C:\scripts\backup.bat" /sc daily /st 02:00 /ru SYSTEM

/tn "DailyBackup" → 작업 이름 설정

/tr "C:\scripts\backup.bat" → 실행할 배치파일 지정

/sc daily /st 02:00 → 매일 오전 2시에 실행

/ru SYSTEM → 시스템 권한으로 실행하여 권한 문제 해결


등록된 작업 확인 및 실행

schtasks /query /tn "DailyBackup"   :: 등록된 작업 확인
schtasks /run /tn "DailyBackup"      :: 작업 즉시 실행
schtasks /delete /tn "DailyBackup"   :: 작업 삭제

✅ 실무에서 활용할 수 있는 자동화 사례

1️⃣ 자동 백업 작업

@echo off
xcopy "C:\중요파일" "D:\백업" /E /H /C /I /Y
>> backup_log.txt echo 백업 완료: %date% %time%
pause

작업 스케줄러에 등록하여 매일 자동 실행 가능

로그 파일 생성으로 백업 시점 추적 가능

2️⃣ 네트워크 설정 자동화 (IP 갱신 및 로그 기록)

@echo off
echo 네트워크 설정 초기화 중...
ipconfig /release
ipconfig /renew
ipconfig /flushdns
>> network_reset.log echo 네트워크 갱신 완료: %date% %time%
pause

인터넷 연결 문제 발생 시 자동 실행 가능

작업 스케줄러에서 특정 시간마다 실행 설정 가능

3️⃣ 로그 파일 자동 정리 (30일 이상 된 로그 삭제)

@echo off
forfiles /p "C:\Logs" /s /m *.log /d -30 /c "cmd /c del @path"
echo 오래된 로그 파일 삭제 완료.
pause

작업 스케줄러에서 매월 실행하도록 설정 가능

서버 유지보수 시 유용한 자동화 작업


✅ 관리자 권한이 필요한 작업 스케줄러 설정

일부 작업(예: 시스템 설정 변경, 네트워크 설정 초기화)은 관리자 권한이 필요합니다. 이를 해결하려면 작업을 시스템 계정으로 실행하거나, 관리자 권한으로 실행되도록 설정해야 합니다.

1️⃣ GUI에서 관리자 권한으로 실행 설정

  • 작업 속성 → "보안 옵션"에서 가장 높은 권한으로 실행 체크

  • "사용자가 로그온할 때만 실행" 옵션 선택

2️⃣ schtasks 명령어를 활용한 관리자 실행

schtasks /create /tn "NetworkReset" /tr "C:\scripts\network_reset.bat" /sc weekly /ru SYSTEM

/ru SYSTEM 옵션을 추가하여 관리자 권한 문제 해결 가능


작업 스케줄러를 활용한 자동화 시스템 구축

작업 스케줄러와 배치파일을 연동하면 수작업 없이 자동화된 관리 시스템을 구축할 수 있습니다.

반복적인 유지보수 작업 자동화 (백업, 로그 정리 등)

네트워크 및 시스템 설정 자동 적용

schtasks 명령어 활용으로 보다 정밀한 작업 스케줄 설정 가능


다음 글에서는 PowerShell을 활용한 고급 자동화 스크립트 작성법을 다룰 예정이니 기대해주세요!

  • 공유링크 복사