У меня есть домашний сервер Ubuntu с виртуальной коробкой. У меня есть виртуальный сервер, работающий на той коробке, с которой у меня проблемы. На данный момент у меня нет времени на устранение существующей проблемы, но я обнаружил, что перезапуск сервера устраняет проблему как минимум в течение 24 часов. Итак, мое быстрое решение - перезапускать сервер каждую ночь.
Суть в том, что я хочу выполнить следующую команду в 3:00 утра 7 дней в неделю.
vboxmanage controlvm virtualpbx acpipowerbutton
в 3:05 каждую ночь я хочу выполнить следующую команду.
vboxmanage startvm virtualpbx -type headless
Лучший ответ - пошаговые инструкции для выполнения этой задачи: от запуска консоли до ее закрытия. Я хочу больше узнать о cron и инфраструктуре linux, но пока у меня нет времени.
Большое спасибо за вашу помощь.
Сет Б Спирман
** РЕДАКТИРОВАТЬ **
Я хочу иметь возможность установить их из командной строки ssh. (Не смейтесь, но на сервере сейчас не подключен монитор, и для его работы потребуется немало усилий). Но я могу ssh к нему в любое время.
Из командной строки ssh кажется, что crontab не работает ... он просто переходит на следующую строку и, похоже, ожидает большего ввода.
Я попытался установить crontab из ssh с помощью sudo apt-get install crontab, но он не может найти его ни в одном репозитории.
Так что я думаю, что буду использовать nano и делать это вручную, но мне нужно знать, где его разместить.
ВСЕ, что сказать ... Я делаю это из ssh-приглашения ... что, я думаю, не имеет значения, но думал, что дам вам знать.
Сет
Drop to console
Создайте скрипт bash, по одному для каждой из команд (не забудьте сделать их исполняемыми с помощью sudo chmod +x filename.sh
) и сохраните их в месте, из которого cron может их запустить .
sudo anacron -t 00 03 * * * /path/to/script/script1.sh
sudo anacron -t 10 03 * * * /path/to/script/script2.sh
Наслаждайтесь!
Откройте терминал ( Ctrl kbd> + Alt kbd> + T kbd>), затем запустите:
crontab -e
Если вас спросят чтобы выбрать редактор, выберите нано. Вставьте эти строки в конец файла:
0 3 * * * vboxmanage controlvm virtualpbx acpipowerbutton
5 3 * * * vboxmanage startvm virtualpbx -type headless
Нажмите Ctrl kbd> + O kbd>, Return kbd>, чтобы сохранить файл и Ctrl kbd> + X kbd> для выхода. Затем запустите exit
, чтобы закрыть терминал.
РЕДАКТИРОВАТЬ
Это то, что сделал ОП:
sudo nano /etc/crontab <key in password>
отредактируйте в соответствии с рекомендацией Эрика, но добавьте имя пользователя, запускающее виртуальные машины, следующим образом ...
0 3 * * * username vboxmanage controlvm virtualpbx acpipowerbutton
5 3 * * * username vboxmanage startvm virtualpbx -type headless
CTRL-X, чтобы закрыть. Войдите, чтобы сохранить crontab.
sudo service cron stop
, затем sudo service cron start
.