Как обнаружить, когда запуск сервера закончен?

Я могу установить соединение SSH к серверу перед запуском концов ядра:

...
Nov 19 08:48:39 myServer kernel: [   11.305033] aufs 3.16-20140908
Nov 19 08:48:39 myServer kernel: [   11.389463] Bridge firewalling registered
Nov 19 08:48:39 myServer kernel: [   11.410197] nf_conntrack version 0.5.0 (4753 buckets, 19012 max)
Nov 19 08:48:39 myServer kernel: [   11.477171] ip_tables: (C) 2000-2006 Netfilter Core Team
Nov 19 08:48:39 myServer kernel: [   11.665557] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
>> I can already connect through SSH around here
Nov 19 08:48:42 myServer kernel: [   14.346036] aufs au_opts_verify:1570:docker[2275]: dirperm1 breaks the protection by the permission bits on the lower branch
Nov 19 08:48:42 myServer kernel: [   14.500609] aufs au_opts_verify:1570:docker[2301]: dirperm1 breaks the protection by the permission bits on the lower branch
Nov 19 08:48:42 myServer kernel: [   14.527922] aufs au_opts_verify:1570:docker[2301]: dirperm1 breaks the protection by the permission bits on the lower branch
Nov 19 08:48:42 myServer kernel: [   14.570338] aufs au_opts_verify:1570:docker[2275]: dirperm1 breaks the protection by the permission bits on the lower branch
Nov 19 08:48:42 myServer kernel: [   14.601081] device vethbdfcd80 entered promiscuous mode
Nov 19 08:48:42 myServer kernel: [   14.613296] IPv6: ADDRCONF(NETDEV_UP): vethbdfcd80: link is not ready
Nov 19 08:48:42 myServer kernel: [   14.718809] IPv6: ADDRCONF(NETDEV_CHANGE): vethbdfcd80: link becomes ready
Nov 19 08:48:42 myServer kernel: [   14.725877] docker0: port 1(vethbdfcd80) entered forwarding state
Nov 19 08:48:42 myServer kernel: [   14.732093] docker0: port 1(vethbdfcd80) entered forwarding state
Nov 19 08:48:42 myServer kernel: [   14.740035] IPv6: ADDRCONF(NETDEV_CHANGE): docker0: link becomes ready
Nov 19 08:48:43 myServer kernel: [   15.488079] IPv6: eth0: IPv6 duplicate address fe80::42:acff:fe11:1 detected!
Nov 19 08:48:57 myServer kernel: [   29.760031] docker0: port 1(vethbdfcd80) entered forwarding state
Nov 19 08:49:29 myServer kernel: [   61.596905] ...
Nov 19 08:49:44 myServer kernel: [   76.786652] ...
Nov 19 08:49:44 myServer kernel: [   76.805961] ...
Nov 19 08:49:44 myServer kernel: [   76.825477] ...
>> I want to execute something here when the server finished startup

Как я могу выполнить что-то в конце запуска? Мне нужно было настроить/запустить все в данный момент.

1
задан 19 November 2015 в 11:57

2 ответа

Самый легкий путь состоял бы в том, чтобы использовать @reboot в Вашем кроне.

Редактирование Ваш crontab

crontab -e

и добавляют следующее:

@reboot /path/to/your/program

Это выполнится, когда crontab демон запустит

0
ответ дан 30 September 2019 в 03:51

Можно сделать собственное systemd сервис.
От systemd.unit — конфигурация Единицы

Вам нужно After или Before опция:

А разделенный пробелом список имен единицы. Настраивает зависимости от упорядочивания между единицами. Если единица foo.service содержит установку Before=bar.service, и обе единицы запускаются, запуск bar.service задержан, пока foo.service не запущен.

, Который означает, как только сеть (или независимо от того, что Вы хотите) systemd, запустит Ваш сервис. Я думаю, что это - то, что Вы хотите.

я записал демонстрационный сервис для Вас (взятие услуг NetworkManager как ссылка)

[Unit]
Description=SSH connection
Wants=network.target
After=network.target # as soon as network is up systemd will start your service

[Service]
Type=simple
ExecStart=/path/to/script
Restart=on-failure

[Install]
WantedBy=multi-user.target # This will insure that your ssh connection is done before you see login screen

, Это образец сервисная установка, Вы могли бы хотеть считать следующие ресурсы перед развертыванием его

[еще 1118]: systemd.unit и systemd.service

0
ответ дан 30 September 2019 в 03:51

Другие вопросы по тегам:

Похожие вопросы: