Hello everyone,
I’m working on a project trying to plug Woocommerce and DigitalOcean.
Digital Ocean’s API works brilliant, I’ve resolved every issue with them except one.

My droplet is based on cronjobs. It checks for another website every minute and do something based on user choices.

I’ve created a snapshot of it and, when a new user subscribe to WordPress i create a droplet using this snapshot. Right after droplet creation I’ve to pull new version from Github and schedule cron.

So I’ve used user_data on droplet create method.

#!/bin/bash

git -C /var/www/buyer pull
line="* * * * * php /var/www/html/artisan schedule:run >> /dev/null 2>&1"
crontab -l | { cat; echo "$line"; } | crontab -
crontab -l > /root/test.txt

Everything works as expected, git pull works and crontab is edited correctly.

The only problem is that cronjob doesn’t start.
The only way to start cronjob is connect through SSH to my droplet, edit the default root password and run crontab -l

Only after run crontab -l it works. Seems like crontab is in rest mode or something like that.

Hope somebody can helps me because this issue is driving me crazy.

Thanks a lot

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
3 answers

I’ve resolved.
You should add SSH key to droplet in order to start cronjob automatically.

Can you add this at the end of your user_data script:

service cron restart

See if that helps.

Cheers

I’ve already tried it.
Isn’t working

Submit an Answer