VMware ESXi 6.7 に cron を設定する

VMWare ESXi 6.7 に cron の設定

■環境
VMware vSphere ESXi 6.7 Update 3


■cron の設定方法

ESXi には crontab コマンドがありませんので、crontab -e などで編集ができません。
cron の設定ファイルを直接に編集します。cron の設定はファイルは/var/spool/cron/crontabs/root です。
パーミッションは 1444 の 読込み専用になっているので、まずは一時的に 1744 に
変更します。

補足ですがパーミッション4桁のうち最初の1桁目はスティッキービットと呼びます。詳しい説明はべつの資料に参照していただきますが、スティッキービットのフラグが立っていると所有者もしくはスーパーユーザー (root) しかファイル・ディレクトリの削除ができなくなります。

# ls -l /var/spool/cron/crontabs/root
-r--r--r-T    1 root     root           843 Jun  3 12:00 /var/spool/cron/crontabs/root
# chmod 1744 /var/spool/cron/crontabs/root
# ls -l /var/spool/cron/crontabs/root
-rwxr--r-T    1 root     root           843 Jun  3 12:00 /var/spool/cron/crontabs/root

# vi /var/spool/cron/crontabs/root
##min hour day mon dow command
1    1    *   *   *   /sbin/tmpwatch.py
1    *    *   *   *   /sbin/auto-backup.sh
0    *    *   *   *   /usr/lib/vmware/vmksummary/log-heartbeat.py

## JV-net Original Backup Tasks
00   16   *   *   *   /vmware_backup.sh jvncentos73

crond を再起動し、設定を反映します。

# /bin/kill $(cat /var/run/crond.pid)
# /usr/lib/vmware/busybox/bin/busybox crond

■再起動した際に cron に自動追記する方法

ESXi の cron は再起動すると元に戻る仕様のようです。このままでは消えてしまうので、/etc/rc.local.d/local.sh を編集し起動時に cron 設定を追記するようにします。
※ /etc/rc.local.d/ の下に適当にファイルを作成しそこに記載してもよいと思います。

vi /etc/rc.local.d/local.sh

追記した内容は下記のとおりです。先の手順に記載した crond の再起動も忘れずに記述します。
※ 行末に書いている exit 0 の手前に追記してください。

/bin/echo "## JV-net Original Backup Tasks" >> /var/spool/cron/crontabs/root

/bin/echo "00   16   *   *   *   /vmware_backup.sh jvncentos73" >> /var/spool/cron/crontabs/root

/bin/kill $(cat /var/run/crond.pid)
/usr/lib/vmware/busybox/bin/busybox crond

※これで、ESXi を再起動しても cron が自動設定されるようになります。
cron機能によりESXiのVMを自動バックアップについて下記の記事をご参照。
VMWare ESXi の仮想マシンバックアップ

VMware ESXi 6.7 に cron を設定する
JV-net Admin 5 6月, 2022
Share this post
アーカイブ
サインイン to leave a comment

Zimbra 8.8.15 サーバーへのアップグレード