Решение HostFission хорошее, но если вы не хотите проверять, запущена ли программа, вы также можете убить ее и запустить вот так:
Создайте файл bash с любым именем (, например :restart.sh ), и введите это:
#/bin/bash
/usr/bin/screen -SX NameOfTheScreen quit;
/usr/bin/screen -S NameOfTheScreen /path/to/startscript;
-S устанавливает имя сеанса -X выполняет что-то в сеансе
Не используйте имя -S -X, так как это присвоит сеансу имя -X. Вместо этого используйте имя -SX.
Затем вы можете настроить -crontab на выполнение этого файла столько раз, сколько вы хотите в течение дня.
crontab -e
* 3,6,9,12,15,18,21,0 * * * /path/to/restart.sh >> /path/to/logfile
ssh нужно записать в /tmp
.
Ваш /tmp/
находится на /
скакуне.
если вы запустите df /tmp
, он отобразит вашу точку монтирования /
, и вы можете проверить, что df /run
— это другая точка монтирования.
Хорошо, большое спасибо всем (EchoMike444, iLkkachu, Kamil Maciorowski )за то, что указали мне правильное направление.
На самом деле я не уточнил, что мой sshd
— это dropbear
, а этот нужно записать в /var/lib
, чтобы начать.
Поэтому мне пришлось добавить эту точку монтирования в tmpfs, чтобы иметь возможность подключаться к моей цели через ssh.