Microsoft Defender for Endpoint on Linux のセキュリティ インテリジェンス更新プログラムをスケジュールする

LinuxのMicrosoft Defender for Endpointで更新プログラムを実行するには、「LinuxでのMicrosoft Defender for Endpointの更新プログラムの展開」を参照してください。

Linuxと Unix には、スケジュールされたタスクを実行するための crontab (タスク スケジューラと同様) というツールがあります。

前提条件

注:

すべてのタイム ゾーンの一覧を取得するには、次のコマンドを実行します。 timedatectl list-timezones

タイムゾーンの例:

  • America/Los_Angeles
  • America/New_York
  • America/Chicago
  • America/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 for Endpointを使用したスキャンのスケジュール設定 (Linux)」を参照してください。

"挿入" を押す

次のエントリを追加します。 スケジュールされた cron ジョブが目的のタイム ゾーンで実行されるようにするには、 CRON_TZ 設定を使用します。

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 日目 (第 3 週) 以下でない限り実行されません。 完全な cron エントリは、ジョブが毎週日曜日の午前 6 時に実行されていることを意味しますが、月の日が 15 日以前の場合にのみ実行されます。

"Esc" を押す

二重引用符なしで「:wq」と入力します。

注:

w == 書き込み, q == 終了

cron ジョブを表示するには、次のように入力します。 sudo crontab -l

Linuxで Defender for Endpoint を更新します。

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 -l > /var/tmp/cron_backup.dat で crontab をバックアップします。

現在のユーザーのすべての 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) (Sunday=0 または 7) (特殊文字: , - * / L W C)
| | | | |*****command to be executed