Linux Execute Cron Job After System Reboot

I am on CentOS 7 server. Is there is an easy way to run script or command at boot time after fresh reboot command?

crontab is the program used to install, uninstall or list the tables used to drive the cron daemon in Vixie Cron. Each user can have their own crontab, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly. You or user can use crontab program to edit cron jobs.

Running job at startup (boot time)

You need to use special string called @reboot. It will run once, at startup after reboot command.

@reboot  /path/to/job
@reboot  /path/to/shell.script
@reboot  /path/to/command

This is an easy way to give your users the ability to run a shell script or command at boot time without root access. First, run crontab command:
$ crontab -e
OR
# crontab -e -u UserName
# crontab -e -u myhome

Run a script called /home/myhome/bin/installnetkit.sh
@reboot /home/myhome/bin/installnetkit.sh

Start crond automatically at boot time

You also need to enable crond service via sys v / BSD init style system. Under RHEL / CentOS / Fedora, you need to use chkconfig (ntsysv) command to enable crond on boot:
# chkconfig crond on
## Commands to start/stop/restart crond ###
# service crond restart
# service crond start
# service crond stop


Under Debian / Ubuntu Linux use update-rc.d as follows to turn on service on boot:
# update-rc.d cron defaults


If you are using modern distro with systemd, try
# systemctl enable crond.service
### this to start/stop/restart crond on systmd enabled distro such centos

7.x/debian/ubutnu/arch ###
# systemctl start crond.service
# systemctl stop crond.service
# systemctl restart crond.service
# systemctl status crond.service

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.