In A cron basics we learned how to set up a cron job in a local environment. Today I am going to show you how to set it programmatically using Vagrant.
A script file
First, we write a script we want to execute. To make it as simple as possible we just write current date to a
#!/usr/bin/env bash # File: vagrant/cron/cron-job.sh # Write current date to cron.html echo $(date) > /vagrant/www/cron.html
Secondly, we define a crontab file.
# Run example cron job */1 * * * * bash /vagrant/vagrant/cron/cron-job.sh # Comment to make sure there is new line at the end of file # https://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working/23337#23337
Do you know how often will be this script executed? No? Go check the Online Crontab Editor.
Finally, we install new crontab file.
#!/usr/bin/env bash # File: vagrant/cron/cron.sh echo "----- Provision: Setting up cron ..." # Overwrite crontab configuration crontab /vagrant/vagrant/cron/crontab
And we update master unprivileged script because we do not need a privileged user for that.
#!/usr/bin/env bash # File: vagrant/unprivileged.sh # ... # Available unprivileged configurations bash /vagrant/vagrant/cron/cron.sh # ...
Does it work?
To see if it works visit