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/.
Hej mam coś takiego
Moje dwie maszynki nazywają się host1 i host2;
#/!bin/bash #Przypisuje do nich wartość 5 i 10 host1=5 host2=10
Do tej zmiennej chciałbym podstawić albo 5 albo 10 w zależności od hosta.
Nie mogę użyć IF [ $HOSTNAME = "host1" ] ; then .... else ... bo hostów jest 50
#nakombinowalem jakoś tak ale nie dziala
zmienna=`$`$(echo $HOSTNAME | cut -f1 -d ".")``
Potrzebuje zrobić sleep w zależności na jakim kompie skrypt się odpali.
jeżeli host1 to 5 sekund jesli host2 to 10 sekund
zeby bylo tutaj podstawienie jesli na host jeden odpalia skrypt to zeby pod $zmienna byla wartosc 5 jesli na hoscie 2 odpali sie skrypt to zeby pod $zmienna bylo 10 itd
sleep($zmienna)
Pozdrawiam
Ostatnio edytowany przez qlemik (2016-08-11 08:28:57)
Offline
Może to głupie ale czy nie możesz wrzucić tych 50 hostów do tablicy a potem się po niej przeiterować? Rozumiem, że to ma być jeden uniwersalny skrypt odpalany z "zewnętrznej maszyny" na wielu hostach? Jaka jest konwencja nazw twoich hostów?
Zaraz Ci tu coś wymyślimy :)
edit2:
Jednak trochę nie czaje co chcesz osiągnąć ale wydaje mi się, że chcesz coś takiego
If [ $HOSTNAME = "host1" ]; then export DUPA_VARA=5 elif [ $HOSTNAME = "host2" ]; then export DUPA_VARA=10 fi
Ostatnio edytowany przez SamozwańczyKrólBasha (2016-08-11 08:50:30)
Offline
hosty bez fqdn sama nazwa.
Fakt tablica i przelecenie :) po tablicy byłoby ok :)
Jakieś jeszcze pomysły ?
Pozdrawiam:)
[quote=SamozwańczyKrólBasha]Może to głupie ale czy nie możesz wrzucić tych 50 hostów do tablicy a potem się po niej przeiterować? Rozumiem, że to ma być jeden uniwersalny skrypt odpalany z "zewnętrznej maszyny" na wielu hostach? Jaka jest konwencja nazw twoich hostów?
Zaraz Ci tu coś wymyślimy :)
edit2:
Jednak trochę nie czaje co chcesz osiągnąć ale wydaje mi się, że chcesz coś takiego
If [ $HOSTNAME = "host1" ]; then export DUPA_VARA=5 elif [ $HOSTNAME = "host2" ]; then export DUPA_VARA=10 fi
[/quote]
dokladnie tylo żeby tyle ifów nie bylo ile hostów . Wiec petelka po hostah i jeden if.
za malo kawy bylo rano :)
Offline
Ogarnięte finalnie tak to wygląda:
#nazwa_hosta,time_to_sleep; host_delay="nazawa_hosta1,5 nazawa_hosta2,10 nazawa_hosta2,15 nazawa_hosta3,20 nazawa_hosta4,25 " for i in $host_delay do host=`echo $i | cut -f1 -d ","` delay=`echo $i | cut -f2 -d ","` if [ $host_name = "$host" ]; then sleep $delay fi done;
reszta skryptu
Offline
a spróbuj prościej:
#!/bin/sh Z=`hostname -s | tr -d 'host'` DELAY=$(($Z * 5)) sleep $DELAY
Offline
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00091 | 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='3.138.122.4' WHERE u.id=1 |
0.00090 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.122.4', 1714836211) |
0.00055 | SELECT * FROM punbb_online WHERE logged<1714835911 |
0.00061 | SELECT topic_id FROM punbb_posts WHERE id=304090 |
0.00122 | SELECT id FROM punbb_posts WHERE topic_id=28848 ORDER BY posted |
0.00055 | 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=28848 AND t.moved_to IS NULL |
0.00098 | SELECT search_for, replace_with FROM punbb_censoring |
0.00093 | 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=28848 ORDER BY p.id LIMIT 0,25 |
0.00156 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28848 |
Total query time: 0.00839 s |