Linux 엔드포인트용 Microsoft Defender 업데이트를 실행하려면 Linux 엔드포인트용 Microsoft Defender 대한 업데이트 배포를 참조하세요.
Linux Unix에는 예약된 작업을 실행할 수 있는 crontab(작업 스케줄러와 유사)이라는 도구가 있습니다.
Prerequisites
참고 사항
모든 표준 시간대 목록을 얻으려면 다음 명령을 실행합니다. timedatectl list-timezones
표준 시간대의 예:
America/Los_AngelesAmerica/New_YorkAmerica/ChicagoAmerica/Denver
cron 작업 설정
다음 명령을 사용합니다.
crontab 항목 백업
다음 명령을 사용하여 변경하기 전에 현재 crontab 항목을 백업합니다.
sudo crontab -l > /var/tmp/cron_backup_201118.dat
참고 사항
이 예제에서는 입니다 201118 == YYMMDD.
팁
crontab 항목을 편집하거나 제거하기 전에 백업합니다.
루트 사용자의 crontab을 편집하고 새 작업을 추가하려면 다음을 수행합니다.
sudo crontab -e
참고 사항
기본 편집기는 VIM입니다.
다음과 같은 내용이 표시될 수 있습니다.
0 * * * * /etc/opt/microsoft/mdatp/logrorate.sh
및
0 2 * * sat /bin/mdatp scan quick>~/mdatp_cron_job.log
예약된 바이러스 백신 검사 작업을 만드는 방법에 대한 지침은 엔드포인트용 Microsoft Defender(Linux)를 사용하여 검사 예약을 참조하세요.
"삽입" 누르기
다음 항목을 추가합니다. 이 CRON_TZ 설정을 사용하여 예약된 cron 작업이 의도한 표준 시간대에서 실행되도록 합니다.
CRON_TZ=America/Los_Angeles
#! RHEL 및 변형(CentOS 및 Oracle Linux)
0 6 * * sun [ $(date +\%d) -le 15 ] && sudo yum update mdatp -y >> ~/mdatp_cron_job.log
#!SLES 및 파생 제품
0 6 * * sun [ $(date +\%d) -le 15 ] && sudo zypper update mdatp >> ~/mdatp_cron_job.log
#! Ubuntu 및 Debian 시스템
0 6 * * sun [ $(date +\%d) -le 15 ] && sudo apt-get install --only-upgrade mdatp >> ~/mdatp_cron_job.log
참고 사항
RHEL, SLES, Ubuntu 및 Debian의 cron 항목에서 0 6 * * sun는 00분, 오전 6시(24시간 형식 기준), 매월의 모든 날짜, 모든 월, 일요일을 지정합니다.
[$(date +\%d) -le 15] 은 15일(세 번째 주)보다 작거나 같지 않으면 실행되지 않습니다.
전체 cron 항목은 작업이 매주 일요일 오전 6시에 실행됨을 의미하지만, 해당 월의 날짜가 15일 이하일 때만 실행됩니다.
"Esc" 누르기
큰따옴표 없이 ":wq"를 입력합니다.
참고 사항
w == 쓰기, q == 종료
cron 작업을 보려면 다음을 입력합니다. sudo crontab -l
Defender 관련 cron 작업이 실행되었는지 확인하려면 cron 로그에서 mdatp 항목을 검색합니다.
sudo grep mdatp /var/log/cron
로그 파일을 열고 예약된 Defender 업데이트 작업의 출력을 검토하려면 다음을 수행합니다.
sudo nano mdatp_cron_job.log
Ansible, Chef 또는 Puppet을 사용하여 예약된 업데이트 구성
다음 명령을 사용합니다.
Ansible에서 cron 작업을 설정하려면
Ansible의 cron 모듈을 사용하여 cron 작업을 관리합니다.
cron - Manage cron.d and crontab entries
자세한 내용은 https://docs.ansible.com/ansible/latest을(를) 참조하세요.
Chef에서 crontabs를 설정하려면
Chef의 cron 리소스를 사용하여 cron 작업을 관리합니다.
cron resource
자세한 내용은 https://docs.chef.io/resources/cron/을(를) 참조하세요.
Puppet에서 cron 작업을 설정하려면
리소스 종류: cron
자세한 내용은 https://puppet.com/docs/puppet/5.5/types/cron.html을(를) 참조하세요.
Puppet을 사용하여 자동화: Cron 작업 및 예약된 작업
자세한 내용은 https://puppet.com/blog/automating-puppet-cron-jobs-and-scheduled-tasks/을(를) 참조하세요.
일반적인 crontab 명령 및 예제
다음 명령은 cron 항목 나열, 백업, 편집 및 제거와 같은 일반적인 crontab 작업을 다룹니다.
crontab에 대한 도움말을 보려면
다음 명령을 실행하여 crontab 수동 페이지를 봅니다.
man crontab
현재 사용자의 crontab 파일 목록을 얻으려면
다음 명령을 실행하여 현재 사용자의 crontab 항목을 나열합니다.
crontab -l
다른 사용자의 crontab 파일 목록을 얻으려면
다음 명령을 실행하여 다른 사용자의 crontab 항목을 나열합니다.
crontab -u username -l
crontab 항목을 백업하려면
다음 명령을 사용하여 현재 crontab 항목을 백업합니다.
crontab -l > /var/tmp/cron_backup.dat
팁
편집하거나 제거하기 전에 이 작업을 수행합니다.
crontab 항목을 복원하려면
다음 명령을 실행하여 백업 파일에서 crontab 항목을 복원합니다.
crontab /var/tmp/cron_backup.dat
crontab을 편집하고 루트 사용자로 새 작업을 추가하려면
다음 명령을 사용하여 루트 사용자의 crontab을 편집하고 새 작업을 추가합니다.
sudo crontab -e
crontab을 편집하고 새 작업을 추가하려면
다음 명령을 실행하여 현재 사용자의 crontab을 편집하고 새 작업을 추가합니다.
crontab -e
다른 사용자의 crontab 항목을 편집하려면
다음 명령을 실행하여 다른 사용자의 crontab 항목을 편집합니다.
crontab -u username -e
모든 crontab 항목을 제거하려면
Warning
이 명령은 확인을 요청하지 않고 현재 사용자의 모든 crontab 항목을 제거합니다. crontab을 복원해야 하는 경우 먼저 crontab -l > /var/tmp/cron_backup.dat 백업합니다.
다음 명령을 사용하여 현재 사용자의 모든 crontab 항목을 제거합니다.
crontab -r
다른 사용자의 crontab 항목을 제거하려면
Warning
이 명령은 확인을 요청하지 않고 지정된 사용자의 모든 crontab 항목을 영구적으로 제거합니다. 이 명령을 실행하기 전에 사용자의 crontab을 백업합니다.
다음 명령을 사용하여 해당 사용자의 crontab 항목을 삭제하여 특정 사용자에 대해 예약된 모든 작업을 제거합니다.
crontab -u username -r
Cron 식 필드 참조
다음 다이어그램에서는 cron 식의 필드를 설명합니다.
+—————- 분(값: 0 - 59)(특수 문자: , - * /)
| +————- 시간(값: 0 - 23)(특수 문자: , - * /)
| | +———- 월의 일(값: 1 - 31)(특수 문자: , - * / L W C)
| | | +——- 월(값: 1 - 12)(특수 문자: ,- * / )
| | | | +-- 요일(값: 0 - 6)(일요일=0 또는 7)(특수 문자: , - * / L W C)
| | | | |*****command to be executed