ESXi - Add cron Job
Stolen directly from http://www.jules.fm/Logbook/files/add_cron_job_vmware.html because the site seems only semi-functional (& might go away...).
Add cron Job to VMware ESX/ESXi
This explains how to add a cron job to VMware in such a way that it will still be there after reboots.
Having enabled ssh access to your ESX/ESXi server, ssh in as root.
Firstly, add the cron job to the root crontab:
- Edit
/var/spool/cron/crontabs/root
- Add the line (all on one line)
5 0 * * * /full/path/to/script arguments/with/full/path > /full/path/to/logfile 2>&1
- Run the command "
cat /var/run/crond.pid
" That will print the process number of the running crond, such as 12345 - Run the command "
kill 12345
" where "12345
" should be replaced with the number output by the previous command
For details of the meaning of "5 0 * * *" (5 minutes past midnight every day) read the man page for crontab(5) on any Unix/Linux server, or else on the web.
Now, add a command to /etc/rc.local.d/local.sh
to re-generate the cron job when ESX/ESXi reboots
- Edit
/etc/rc.local.d/local.sh
, using a command such as "vi /etc/rc.local.d/local.sh
". - At the end of the file, add 3 lines (using "G" then "O" in vi). The first kills crond, the second adds the new cron job to the root crontab file, ad the third restarts crond:
/bin/kill $(cat /var/run/crond.pid)
/bin/echo '5 0 * * * /full/path/to/script arguments/with/full/path > /full/path/to/logfile 2>&1' >> /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond
- Save and exit the editor (Press the "Esc" key then ":wq" then press "Return" in vi)
- Run the command "
auto-backup.sh
" so that the change to/etc/rc.local
survives a reboot.
Every time you change the cron job, remember to update /etc/rc.local
as well and run the "auto-backup.sh
" command to backup the new /etc/rc.local
file.