• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Skrypty vi na linuxie

Object Storage Arubacloud
0 głosów
522 wizyt
pytanie zadane 20 lutego 2020 w Mikrokontrolery przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 23 lutego 2020 przez Marak123
Chcę zrobić skrypt na serwerze linux Ubuntu który będzie za każdym uruchomieniem serwera ustawiał ip karty sieciowej i łączył się z siecią bezprzewodową za pomocą polecenia wpa_supplicant tylko że zrobiłem ten skrypt i te polecenie wpa_supplicant zatrzymuje mi się po połączeniu i skryp nie kontynuuje się po połączeniu muszę nacisnąć crtl+z i w tedy polecenie wpa_supplicant się zatrzymuje tylko że nie wiem jak zrobić to w skrypcie aby automatycznie po 10 sekundach trwania skryptu zakańczało się polecenie i przechodziło do dalszej części skryptu. Wie ktoś jak zrobić taki skrypt? Albo jak to w plikach systemowych zapisać aby od razu karta sieciowa byłą połączona z siecią?
komentarz zamknięcia: Tak

1 odpowiedź

0 głosów
odpowiedź 20 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
ifconfig wlan0
iwconfig wlan0 essid nazwasieci key s:klucz
dhclient wlan0

wlan0 to interfejs

s --- przy nazwie sieci to format zwykłego testy bez s format hex
komentarz 20 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Przy wpisaniu tej drugiej komendy wyskakuje mi taki błąd

essid: Host name lookup failure
komentarz 20 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
edycja 20 lutego 2020 przez edwardkraweznik
Aby to zadziałało musisz w routerze ustawić WEP

Klucz w przypadku WEP to albo 5 albo 13 znaków ASCII używaj tylko liter i cyfry.

Nieraz routery generują klucze hex wtedy podajesz taki klucz bez "s:" dla iwconfig
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
to dlatego używam polecenia wpa_supplicant który działa na kluczu wps
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
edycja 21 lutego 2020 przez edwardkraweznik

wpa_supplicant -B -i interfejs -c plik_konfiguracyjny

-B uruchomi daemona w tle.

można umieścic taki start w crontabie:

crontab -e

a w nim :

MAILTO=""

@reboot /bin/sh sktypt.sh >/dev/null 2>&1

Ważna uwaga: takiego daemona nie powinno się stopować powinien uruchomić się przy starcie i działać w tle cały czas...

komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)

Wiem tylko że po wpisaniu tej komendy karta łączy mi sie z routerem i nie wraca z powrotem do terminala tylko zatrzymuje sie na napisie connect i trzeba wcisnąć crtl+z aby zakończyć to polecenie potem trzeba wpisać dhclient nazwa karty sieciowej  po to aby uruchomić tą kartę czyli w skrócie pierw wpisać i połączyć karte sieciową z routerem z potem aktywować karte sieciową. Więc muszę zrobić  to w skrypcie i dlatego sie pytam o polecenie zatrzymujące poprzednie polecenie bez znajomości ID procesu

komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
edycja 21 lutego 2020 przez edwardkraweznik

nawet z -B ci się zatrzymuje ?

ten skrypt musi wyglądać tak:

#!/bin/sh
/sbin/wpa_supplicant -B ...........
/sbin/dhclient interfejswifi

najważniejsza jest opcja -B

komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
nie dobra z -B sie nie zatrzymuje
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
jak ja mam ustawić tego crona aby mi się otwierał ten skrypt przy każdym starcie systemu
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
edycja 21 lutego 2020 przez edwardkraweznik

piszesz w konsoli crontab -e

i wklejasz:

@reboot /bin/sh sktypt.sh >/dev/null 2>&1

potem zapisujesz plik i wszytko

jesli jesteś zalogowany jako root albo przez sudo -s to skrypt uruchomi się z prawami roota (analogicznie jeśli jesteś zalogowany jako zwykły user....)

Ważna uwaga: podawaj w takich skryptach pełne ścieżki /home/katalog/skrypt.sh

jeszcze jedna uwaga:

/bin/sh nazwpliku.sh to to samo co ./nazwapliku.sh .... <---- jeśli ustawimy chmod +x

poprostu komenda "/bin/sh nazwpliku.sh" nie wymaha aby ustawiać chmod +x (wystarczy zwykły plik textowy)

komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
mam problem bo wpisuje te crontab -e i wpisuje @reboot ścieżka do pliku i gdy chcę zapisać to wyskakuje mi błąd żeby wybrać yes czy no wybieram jest wraca mi do edytora wybieram no i wychodzi mi z edytora i wraca do terminala ale kiedy ponownie uruchamiam edytor komendą crontab -e to w tym pliku nic nie jest zapisane
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
no to zależy jaki edytor wybrałeś przy starcie.

jak wybrałeś nano to wciskasz ctrl+o.

Ja nie wiem co wybrałeś, napisz to pomogę ?
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Mam edytor mc
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
edytor zmieniasz komendą:

select-editor

nie wiem czy masz ale wybierz nano (najprostszy jest

)

nie ma edytora mc (jest mcedit) napisz czy możesz zmienić na "nano" ?

w nano ctrl+o zapisujesz a ctrl+x wychodzisz
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
w mcedit f2 zapisujesz f10 konczysz
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
w nano to sam bo testowałem i po wpisaniu polecenia w crontab @reboot "ścieżka-do-skryptu" naciskam crtl+o potem crtl+x wychodzi mi do terminala ale gdy wchodzę ponownie do crontab to pokazuję mi na pasku na dole wybór czy chcę kontynuować wybór yes or no
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
hmm... nie wiem jak masz os pokonfigurowany...

uruchamiasz tego crontaba może tak: sudo crontab -e ?
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
wiem właśnie ze f2 zapisuje f10 kończy tylko wyskakuje mi to samo co w nano ale chyba skumałem co to jest i chyba jest to ze po ponownym otworzeniu tego pliku to pytają się czy chcę kontynuować z tym co już jest wpisane czy wyczyścić to i zacząć od czystego pliku ale ustawiłem te @reboot i ten skrypt nie uruchamia sie po uruchomieniu
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
dodaj w tym skrypcie taką linijkę:

echo "dupa" > ppp

restartnij komputer i zobacz czy utworzyło plik ppp i czy jest w nim dupa ?

to pozwoli sprawdzić czy crontab dziala
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
ja muszę opuścić forum do 22:00 jakbyś sobie nie poradził wklej wynik komendy "crontab -l" i wklej zawartość tego skryptu.

około 22 pomogę :)
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
nie ale wiem chyba dlaczego. Bo gdy zapisuje plik to on mi sie zapisuje w folderze w którym jestem odpalając polecenie nano crontab -e czy ten plik ma być gdzie kolwiek czy w jakiś określonej ścieżce?????
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
kombinuj prawie rozwiązałeś problem, o 22 pomogę...
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
ok
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
Jestem... Poradziłeś sobie ?
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Niestety nie
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
ok wklej wynik komendy "crontab -l" i wklej ten skrypt co startuje wifi
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Szukałem w internecie czy plik ten crontab ma być zapisany gdzie kol wiek czy w określonej ścieżce ale nie znalazłem
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Po wpisaniu polecenia "crontab -l" wyskakuje mi "no crontab for root"

A skrypt nawet sie nie odpala bo testowałem na tworzeniu pliku tak jak pisałeś i nie tworzy tego pliku nawet sprawdzałem to jakieś 20 razy za każdym razem próbowałem kombinować ale nic nie działało
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
edycja 21 lutego 2020 przez edwardkraweznik

no czyli nie ma crontaba.

po kolei zrób dokładnie tak:

komenda select-editor wybierz nano

komenda "crobtab -e"

wklej tam "@reboot /bin/sh sktypt.sh >/dev/null 2>&1 " pozmieniaj na twoj skrypt

zapisz wcisnij ctrl+o a następnie ctrl+x

powinieneś zobaczyć takie coś:

crontab: installing new crontab

# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command
@reboot /bin/sh sktypt.sh >/dev/null 2>&1

tak powinien wyglądać crontab w edytorze

komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Nie wyskakuje mi takie coś tylko gdy klikam ctrl+o wyskakuje mi ścieżka do pliku gdzie ma sie zapisać i muszę kliknąć enter potem dopiero mogę kliknąć ctrl+x nie wiem czy tak powinno być ale gdy potem wchodzę ponownie do tego pliku nie ma tego zapisu co napisałem
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
I tam wygląda u mnie też
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
dobra zaraz cos sprawdzę... 5 min
komentarz 21 lutego 2020 przez Mariusz08 Maniak (62,300 p.)

@Marak123,

Tak, tak ma to wyglądać, to normalne że pyta Cię o ścieżkę

komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
To czemu nie działa mi i niby zapisałem a gdy wracam do tego pliku to tak naprawdę tam nic nie ma
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)

w takim razie stwórz w katalogu

/etc/cron.d/ plik o dowolnej nazwie a w nim:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

@reboot root sh /sciezka/do/skryptu/sktypt.sh >/dev/null 2>&1

root po @reboot oznacza usera z prawami jakiego uruchomi się skrypt

komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
nie działa niestety
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)

zobacz czy masz zainstalowany crontab

sudo apt-get install cron
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Mam sprawdzałem już na samym początku
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
a logi ? może nie startuje

cat syslog | grep cron

zobacz authlog i messages także

to musi działać, sprawdzałem u siebie...
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
pisze ze nie znalazło pliku
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
co ty masz za system ?
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Ubuntu-server 18.04.3
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
Powiem ci tak: crontab to podstawowy daemon, nigdy się nie spotkałem aby nie działał, albo popełniasz jakiś podstawowy błąd (nie wiem jaki) albo coś namieszałeś w konfiguracji...

Nie wiem gdzie dalej szukać (czytaj logi)

z crontaba korzystam codziennie (linux mint i debian) działa...
komentarz 21 lutego 2020 przez Marak123 Stary wyjadacz (11,190 p.)

Poszukam dalej w internecie może ktoś miał podobny problem ale dzięki za pomoc yes

komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
nie wiem czy sobie z tym poradzisz ale można jeszcze startować skrypty

/etc/init.d

https://webinsider.pl/linux-autostart/
komentarz 21 lutego 2020 przez edwardkraweznik Dyskutant (9,930 p.)
sprawdź jeszcze:

/etc/init.d/cron status

Podobne pytania

0 głosów
1 odpowiedź 465 wizyt
pytanie zadane 14 czerwca 2018 w Systemy operacyjne, programy przez Zer0AlmostNull Obywatel (1,060 p.)
0 głosów
1 odpowiedź 236 wizyt
pytanie zadane 20 lutego 2020 w Inne języki przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
3 odpowiedzi 516 wizyt
pytanie zadane 21 maja 2019 w Inne języki przez NsakeR Nowicjusz (120 p.)

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...