at
команда от Unix не доступна на Cygwin. Cygwin традиционно использовал at
команда из окон, но это было удержано от использования в пользу schtasks.exe
.
Таким образом, ответ на Ваш вопрос - да: можно только использовать Запланированную задачу в Windows для выполнения задачи однажды.
(Можно использовать cron
и набор это в определенную дату в определенное время..., но это будет повторяться каждый год, если Вы не удалите задачу из crontab.) ;-)
Почему бы просто не иметь команду, которая запускается как часть запуска контейнера, которая генерирует статическую HTML-страницу с именем хоста внутри нее.
$ cat <<EOF > /path/to/var/www/hostname.html
<html>
<body>
<p>hostname is: $(hostname)</p>
</body>
</html>
EOF
Эту команду можно поместить в /etc/rc.d/rc.local
, предполагая, что вы используете SysV-стиль сценариев запуска. Если вы используете systemd, вы можете сделать то же самое, но вам нужно включить сервис:
$ sudo service rc-local start
Это отметит его запуск, чтобы он выполнялся за один запуск:
$ sudo systemctl enable rc-local
Если вы используете что-то другое, например, Upstart, есть эквивалентные методы для того, чтобы делать то же самое вышеприведенные вещи.
Для статической страницы самым простым способом было бы сгенерировать обслуживаемую страницу из шаблона, заменив заполнитель тем, что вам дает команда hostname
. Выполните этот код в точке входа вашего изображения.
Если вы используете PHP, вы можете использовать следующий код:
echo system('hostname')
Это будет ECHO
Вывод команды HostName
. Обратите внимание, что команда система
отключена во многих общих хостах по соображениям безопасности.
В качестве альтернативы вы можете использовать:
echo gethostname();
-OR-
echo php_uname('n')
Ниже приведена веб-страница, на которой будет отображаться имя хоста. Это показывает встроенную функцию для веб-программирования.
<html>
<body>
<?php echo gethostname(); ?>
</body>
</html>