Skip to content

Latest commit

 

History

History
89 lines (66 loc) · 1.96 KB

File metadata and controls

89 lines (66 loc) · 1.96 KB

Ubuntu/Debian Installation and Setup

Dependencies

sudo apt-get install libboost-system-dev libboost-program-options-dev libsqlite3-dev cmake build-essential

Build

git clone https://github.com/homer6/frequent-cron.git
cd frequent-cron
cmake .
make
make test
sudo make install

Running Directly

frequent-cron run --frequency=1000 --command="/path/to/your/script.sh" --pid-file=/var/run/frequent-cron.pid

Managing Services

# 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 myservice

Manual systemd Setup

If you prefer to manage the unit file yourself:

  1. 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
  2. Enable and start:

    sudo systemctl daemon-reload
    sudo systemctl enable frequent-cron
    sudo systemctl start frequent-cron
  3. To stop:

    sudo systemctl stop frequent-cron

Legacy init.d Setup

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