Правильный способ сделать это - использовать Crontab - если у вас нет доступа к вашему crontab, вам действительно следует поговорить с администратором - они, вероятно, не хотят, чтобы вы выполняли запланированные задания. Тем не менее, прежде чем сказать, что у вас нет разрешений для команды crontab, попробуйте запустить «crontab -e» - у каждого пользователя есть свой собственный файл cron, и crontab - попытается отредактировать ваш. (Замечу, что когда я запускаю crontab как пользователь, он просто зависает)
Вы можете выполнить практически любую работу в фоновом режиме, добавив к ней символ «&». Я бы настаивал на этом, но вы могли бы написать скрипт в цикле while, который проверяет время, затем ждет минуту, проверяет снова и т.д., И, если он совпадает, выполняет команду. Вы можете запустить этот скрипт с & для запуска в фоновом режиме. Вы также можете попасть в беду за подрыв системы ....
Другая команда для поиска - "экран". Это позволяет вам присоединять и отсоединять ваш терминал от консоли - это может быть полезным способом запуска чего-либо в фоновом режиме, но с возможностью видеть и взаимодействовать с ним (Вы можете просмотреть, затем выполнить программу на переднем плане, затем отсоединить с экрана, и подключите позже)
РЕДАКТИРОВАТЬ
Скрипт для проверки времени раз в минуту и запуска команды в соответствующее время:
#! /bin/bash
RUNAT="07:54"
while [ 1 ]
do
DATE=`/bin/date +%H:%M`
if [ $DATE. = $RUNAT. ]
then
/path/to/script.sh
fi
sleep 60
done
Сохраните его как (например) mycron.sh, chmod 755 mycron.sh, чтобы он выполнялся, измените строку RUNAT, чтобы она запускалась, когда вы хотите, чтобы ваш скрипт выполнялся, затем выполните этот скрипт как mycron.sh и он будет работать в фоновом режиме.
Этот скрипт не вызовет переполнения стеков, потому что он выполняет команду только один раз в день, он не "цепляет себя"