Если вы хотите запустить его только один раз, вы можете использовать команду at command:https://en.wikipedia.org/wiki/At_()
Пример:
echo "echo \"this is a test program\" >> /tmp/xyz.log" | at 1127 apr 11
Если вы хотите запускать его каждый день, вам может понадобиться цикл:
#!/bin/bash
while true;
do
DATE=`date | cut -d' ' -f4`
echo $DATE
if [[ $DATE == "11:33:00" ]]
then
echo "this is a test program" >> xyz.log
sleep 1s
fi
done
Примечание.:Это может быть связано с вашей проблемой, а может и не быть, но описанная здесь проблема приведет к тем же сообщениям об ошибках, что и вы, из-за отсутствия символической ссылки.
Я не эксперт, но в Debian 10 (Buster )система инициализации по умолчанию — systemd
, что означает, что/sbin/init
(/usr/sbin/init
)будет ссылаться на systemd
.
К сожалению, при запуске нескольких гостей KVM я заметил ошибку, из-за которой символическая ссылка /sbin/init
, ведущая к /lib/systemd/systemd
, удаляется. Я не знаю причины этого, однако подозреваю, чтоorg.freedesktop.systemd1
(я совершенно не знаю, что это )может быть причиной.
Правильная символическая ссылка
Правильным выводом будет:
root@vpstest:~# ls -la /sbin/init
lrwxrwxrwx 1 root root 20 Jan 29 19:07 /sbin/init -> /lib/systemd/systemd
Отсутствует символическая ссылка
Если он показывает это, возможно, что-то не так:
root@vps1:~# ls -la /sbin/init
-rwxr-xr-x 1 root root 53016 Feb 14 2019 /sbin/init
Исправить
Чтобы это исправить, я просто удаляю этот файл и перестраиваю символическую ссылку:
rm /sbin/init && ln -s /lib/systemd/systemd /sbin/init
Когда вы используете вирш, вам нужно уничтожить, а затем запустить гостя:
virsh destroy vps1 && virsh start vps1