Reputation: 951
While creating vm using Nova boot I am supplying it a user-data script (cloud-init script).
what I am wondering is, how can I specify in that cloud init script( or any other way to do it) :- to schedule a cron job to run every 2 hours
lets say I want to run "du -s njain/ " to find the size of my directory every 2 hours
I know "runcmd" can be used to do it once..but how do i make it run periodically ? du -s ../njain/
Upvotes: 8
Views: 6991
Reputation: 951
rather than using cloud-init I used crontab, crontab can be used to schedule tasks periodically. Since i was not sure how to use cloud init to do this...I ended up making a image template with the crontab below
sudo crontab -e
Upvotes: -14
Reputation: 711
it might be too late now, but the right way to do it through cloud-init is just to use the cloud-config write_files module and create a cron entry file in /etc/cron.d
for your example, the cloud-init userdata would look something like:
#cloud-config
write_files:
- owner: root:root
path: /etc/cron.d/your_cronjob
content: * */2 * * * [USER] du -s njain/
Note: you must replace [USER]
with the user you'd like to run the cronjob as.
Upvotes: 31