BLOGTIMES
2011/10/19

ESXi5 で cron を使う

  esxi 
このエントリーをはてなブックマークに追加

ESXi5 で cron を使おうとすると、crontab がないので /var/spool/cron/crontabs/root を直接変更する必要が出てきます。
デフォルトのエントリはこんな感じになっています。

/var/spool/cron/crontabs # cat /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

これに、今回は下記のバックアップの設定を追加しました。

0 2 * * * /vmfs/volumes/datastore1/backup/ghettoVCB.sh -a > /vmfs/volumes/datastore1/backup/ghettoVCB-backup-$(date +\%s).log

このままでは設定が反映されないので、下記のコマンドで cron のデーモンを再起動してやります。

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

さらにこのままだと、再起動したときに設定が吹っ飛んでしまうので、 /etc/rc.local の末尾に下記の設定を書き加えておきました。

/bin/kill $(cat /var/run/crond.pid) /bin/echo "0 2 * * * /vmfs/volumes/datastore1/backup/ghettoVCB.sh -a > /vmfs/volumes/datastore1/backup/ghettoVCB-backup-\$(date +\\%s).log" >> /var/spool/cron/crontabs/root /bin/busybox crond

一部の設定が自動保存される秘密

以前にESXi上で行った設定が消えないようにする方法を調べたのですが、これをやらなくても一部の設定( /etc/rc.local とか ) は消えないので、どうしてなのかと不思議に思っていたのですが、デフォルトで1時間に1回動く /sbin/auto-backup.sh のおかげだったのですね。このへんの詳しい動きについては下記のエントリが詳しいので、一度目を通しておくと参考になると思います。

 ・virtuallyGhetto: How to Persist Configuration Changes in ESXi 4.x/5.x Part 1
 ・virtuallyGhetto: How to Persist Configuration Changes in ESXi 4.x/5.x Part 2

2016/6/19 追記

ESXi 6 では /bin/busybox crond が /bin/crond になっていたので、設定は以下のようにする必要があります。

/bin/kill $(cat /var/run/crond.pid) /bin/echo "0 2 * * * /vmfs/volumes/datastore1/backup/ghettoVCB.sh -a > /vmfs/volumes/datastore1/backup/ghettoVCB-backup-\$(date +\\%s).log" >> /var/spool/cron/crontabs/root /bin/crond

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4516
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン