sudo apt-get install libboost-system-dev libboost-program-options-dev libsqlite3-dev cmake build-essentialgit clone https://github.com/homer6/frequent-cron.git
cd frequent-cron
cmake .
make
make test
sudo make installfrequent-cron run --frequency=1000 --command="/path/to/your/script.sh" --pid-file=/var/run/frequent-cron.pid# Register a service (also creates a systemd unit file)
sudo frequent-cron install myservice --frequency=1000 --command="/path/to/script.sh"
# This creates: /etc/systemd/system/frequent-cron-myservice.service
# For non-root: ~/.config/systemd/user/frequent-cron-myservice.service
# Start/stop/status
frequent-cron start myservice
frequent-cron status
frequent-cron stop myservice
# View logs
frequent-cron logs myservice
# Remove (also removes the systemd unit)
frequent-cron remove myserviceIf you prefer to manage the unit file yourself:
-
Create a unit file at
/etc/systemd/system/frequent-cron.service:[Unit] Description=frequent-cron After=network.target [Service] Type=forking ExecStart=/usr/local/bin/frequent-cron run --frequency=1000 --command=/path/to/your/script.sh --pid-file=/var/run/frequent-cron.pid PIDFile=/var/run/frequent-cron.pid Restart=on-failure [Install] WantedBy=multi-user.target
-
Enable and start:
sudo systemctl daemon-reload sudo systemctl enable frequent-cron sudo systemctl start frequent-cron -
To stop:
sudo systemctl stop frequent-cron
An init.d script template is available at docs/init_script.tpl. Copy and configure it:
sudo cp docs/init_script.tpl /etc/init.d/frequent_service
# Edit COMMAND, FREQUENCY, and PIDFILE
sudo chmod +x /etc/init.d/frequent_service
sudo /etc/init.d/frequent_service start