Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć,
chciałbym napisać skrypt startujący w systemd. Problemem są parametry.
ExecStart=/usr/bin/java -cp /opt/skrypt.jar $date
Jak zrobić, aby parametr date był jako zmienna jak jest to np. w bashu
googlowałem i nie mogłem znaleźć rozwiązania.
Offline
W systemd odpalaj skrypta, który ustawi zmienne i uruchomi oryginalny program jar.
We własnym skrypcie dowolną akcję zakodzisz 50 razy łatwiej niż w Systemd.
Masz tu przykład jednorazowego odpalania skrypta przez Systemd:
[Unit] DefaultDependencies=no Description="CGSTART - Zakładam strukturę grup do cgroup ;)" Before=cgred.service [Service] Type=oneshot ExecStart=/usr/local/sbin/cgstart TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=local-fs.target
Pozdro
Ostatnio edytowany przez Jacekalex (2019-01-28 15:50:44)
Offline
Dzięki, to jest jakieś rozwiązanie, ale tracę wtedy dobrodziejstwa systemd czyli np restart aplikacji i inne. Może ktoś ma jeszcze jakiś pomysł. Przecież systemd jest następcą init.d i teoretycznie powinien działać podobnie.
Offline
[quote=sata11]Dzięki, to jest jakieś rozwiązanie, ale tracę wtedy dobrodziejstwa systemd czyli np restart aplikacji i inne. Może ktoś ma jeszcze jakiś pomysł. Przecież systemd jest następcą init.d i teoretycznie powinien działać podobnie.[/quote]
Niczego nie musisz tracić, wystarczy sensownie to zaprojektować.
Systemd nie jest następcą SysVinit'a, tylko go udaje.
Autorzy Systemd mają ambicję stworzyć nowy cudowny system operacyjny wewnątrz każdego Linuxa.
Czasem coś im się udaje, ale przeważnie Systemd oznacza ponowne wynalezienie koła,
i to czasami kwadratowego w dodatku.
PS.
Jeżeli myślisz, ze Systemd gwarantuje bezproblemowy restart aplikacji zawsze to możesz sobie myśleć dalej. :P
Ja do bezproblemowego restartu każdej aplikacji i zawsze używam Daemontools,
który działa o wiele lepiej niż SysVinit, Upstart czy Systemd.
Co Ci przypomina "widok znajomy ten":
ssh vps svstat /etc/service/*/ /etc/service/cgroup/: up (pid 2102) 439188 seconds /etc/service/cron/: up (pid 2106) 439188 seconds /etc/service/dovecot/: up (pid 2101) 439188 seconds /etc/service/dovremote/: up (pid 2109) 439188 seconds /etc/service/dropbear/: up (pid 2104) 439188 seconds /etc/service/mysqld/: up (pid 2099) 439188 seconds /etc/service/nginx/: up (pid 2103) 439188 seconds /etc/service/phpfpm/: up (pid 10981) 103395 seconds /etc/service/postfix/: up (pid 2100) 439188 seconds /etc/service/postgrey/: up (pid 2105) 439188 seconds /etc/service/prosody/: up (pid 2094) 439188 seconds /etc/service/rsyslog/: up (pid 2095) 439188 seconds /etc/service/spamd/: up (pid 15145) 36450 seconds /etc/service/sshd/: up (pid 30766) 228504 seconds
Pozdro
Ostatnio edytowany przez Jacekalex (2019-01-28 16:35:04)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00092 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.227.48.131' WHERE u.id=1 |
0.00070 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.227.48.131', 1732350104) |
0.00038 | SELECT * FROM punbb_online WHERE logged<1732349804 |
0.00063 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30815 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00094 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30815 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30815 |
Total query time: 0.00451 s |