To run bash command in time interval you could simple run this command in while command.
You could also stop this command after X num of seconds.
#!/bin/sh
STATE=true
RUNTIME=0
STOPAFTER=1200
while STATE
do
# your command here
sleep 300
RUNTIME+=300
if(STOPAFTER >= RUNTIME)
STATE=false
fi
done
Alternatively you can use cron
jobs. You can use crontabs
command to view and edit corn jobs.
# crontab -e
SHELL=/bin/bash
MAILTO=root@example.com
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
# backup using the rsbu program to the internal 4TB HDD and then 4TB external
01 01 * * * /usr/local/bin/rsbu -vbd1 ; /usr/local/bin/rsbu -vbd2
# Set the hardware clock to keep it in sync with the more accurate system clock
03 05 * * * /sbin/hwclock --systohc
# Perform monthly updates on the first of the month
# 25 04 1 * * /usr/bin/dnf -y update
https://opensource.com/article/17/11/how-use-cron-linux
https://askubuntu.com/questions/852070/automatically-run-a-command-every-5-minutes