Zasepa 0 Zgłoś post Napisano Marzec 30, 2017 Witam Potrzebuje skryptu albo ustawień o ile takie są aby wszystko to co dzieje się na screen było zapisywane do logów. Proszę o pomoc. Gdyż bez tego nie wiem co się dzieje z aplikacją pod moją nieobecność. Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Marzec 30, 2017 Po co Ci logi jak odpalasz aplikację w screen? Przecież masz całą historię w oknie. A jak potrzebujesz dodatkowo czegoś takiego to zainteresuj się tee. Udostępnij ten post Link to postu Udostępnij na innych stronach
Syndrom 95 Zgłoś post Napisano Marzec 31, 2017 screenrc i logfile /tmp/logi logfile flush 0 log on defutf8 on msgwait 2 defscrollback 50 defobuflimit 50 Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Marzec 31, 2017 Zapomniałem napisać. Kupiłem vps. Loguje się do niego przez konsole putty. Na screenie stawiam aplikację. Niestety gdy opuszczę program. Np na noc, to potem nie wiem co aplikacja robiła przez ten czas. SyndromMam te ustawienia dodać do pliku screenrc a gdzie go znajdę? Z tego co teraz wyczytałem to mam go utworzyć w katalogu użytkownika? i ma się nazywać ".screenrc" z kropka na początku? i tyle? Trzeba jakoś restartować tą usługę screen, aby po dodaniu tego pliku wszystko działało? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Marzec 31, 2017 screen -L stworzy ci pliczek screenlog.0 w którym będzie cały output screena. Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Marzec 31, 2017 (edytowany) No stworzyło mi plik z logami ale to są logi tego co ja robię w konsoli putty. a nie screena którego utworzyłem. Edytowano Marzec 31, 2017 przez Zasepa (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Vasthi 74 Zgłoś post Napisano Marzec 31, 2017 A nie prościej, szybciej i mniej awaryjnie to użyć inita na noc? Jak Ci apka padnie to ją zrestartuje i masz elegancko logi. W systemd to paręnaście linijek z tego większość z szablonu w zależności jaka apka. Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Marzec 31, 2017 Ja muszę mieć wszystkie logi z aplikacji.(screena) I mieć możliwość przeglądania ich w danej chwili i z danego czasu. Niestety nie znam się dobrze aby samemu poradzić z tym problemem. Proszę o pomoc Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Marzec 31, 2017 Chodziło mi żebyś dodał -L do linii polecenia screen. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość jotme Zgłoś post Napisano Kwiecień 1, 2017 Przykładzik na szybko: - logujesz się na putty - odpalasz screena przykładowo: screen -S jakasnazwa -L odpalasz apke klikasz CTRL +A, D (najprościej tłumacząc - minamalizujesz screena i wracasz do konsoli) -L - odpala logowanie screena screenlog.0 (gdzie 0 jest kolejnym ID odpalonego screena, jak odpalisz kolejnego to bedzie screenlog.1) Żeby sprawdzić jakie screeny są uruchomione: screen -ls Żeby wrócić do screena, którego odpaliliśmy wcześniej: screen -r jakasnazwa Z kolei żeby scrollować w aktywnym screenie: CTRL+A, ESC - przechodzisz w copy-mode Żeby wyjść wystarczy: ENTERx2 Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 1, 2017 Z kolei żeby scrollować w aktywnym screenie: CTRL+A, ESC - przechodzisz w copy-mode Żeby wyjść wystarczy: ENTERx2 Dzięki ci za to tą poradę własnie wkurzało mnie ze nie mogę przewinąć. Jeśli chodzi o plik "screenlog.0" to on się tworzy w katalogu użytkownika? On jest non stop aktualizowany? Nie ma jakiegoś opóźnienia w aktualizacji logów do pliku? Plik jest na stałe nawet po wyłączeniu screena? Zobaczę i dam znać czy jest to porządny efekt. Bardzo dziękuje z pomoc Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość jotme Zgłoś post Napisano Kwiecień 1, 2017 Tak, zapisywany jest tam output screena (czyli to co widoczne jest w screenie) i nawet po wyłączeniu screena tam będzie. Jeśli uruchamiasz aplikacje w screenie, ale nie wykonujesz żadnych innych operacji (poza uruchomieniem samej tej aplikacji) to może rozważ uruchomienie z kierowaniem output do pliku? Przykładowo screen -S mojscreen ./mojaapka.sh > log.txt CTRL+A, D I teraz zamiast wracać do screena, robimy po prostu: Aby wyświetlić w konsoli całość (nie polecam - lepiej użyć less - niżej info) cat log.txt Aby śledzić ostatnią aktywność oraz każdą nową: tail -f log.txt Aby prześledzić od początku log: less log.txt ^ SHIFT+G, aby zjechać na sam koniec logu Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 1, 2017 Zrobiłem tak: screen -S mojscreen -L ./mojaapka.sh > log.txt CTRL+A, D I działa świetnie Lecz to nie koniec. Mam problem, gdyż posiadam skrypt na uruchomienie tej aplikacji w bash. I tu moje pytanie jak zaimplementować to do skryptu? Testowałem różne warianty i w gdy dam w jednej linijce aby utworzyło screena i uruchomiło aplikację to nie działają logi w dwóch linijkach wszystko działa. ale niewiem jak przełożyć to na skrypt. Bo tutaj tworzę screena właczam aplikację i wychodze ze screena kombinacją klawiszy. A jak ma to skrypt zrobić? Proszę o pomoc Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość jotme Zgłoś post Napisano Kwiecień 2, 2017 (edytowany) Możesz uruchomić skrypt, który będzie startował screen jako detached (zminimalizowany). Utwórz plik startScreen.sh z zawartością: #!/bin/sh screen -dmS NAZWA_MOJEGO_SCREENA "./mojapka.sh" >> NAZWA_LOGU.txt Nie zapomnij ustawić prawa do wykonania: chmod +x startScreen.sh No i teraz tylko odpal skrypt, a screen sam się uruchomi zminimalizowany, a będziesz mógł go przywrócić przez screen -r NAZWA_MOJEGO_SCREENA (edit: oczywiście screen odpala w sobie apkę i zaczyna zrzucać log do pliku ) ./startScreen.sh Mam nadzieję, że pomogłem Edytowano Kwiecień 2, 2017 przez jotme (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Kwiecień 2, 2017 Ja na podstawie screenlog.0 zrobiłem podgląd konsoli w panelu cs 1.6 dla kolegi i działa to dobrze. Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 2, 2017 (edytowany) Zrobiłem tak: screen -A -m -d -S -L testowyhlds ./hlds_run -game cstrike +port 27016 >> /home/serwer/loghlds.txt Nie było sensu pisać wszystkich parametrów startowych do aplikacji więc dałem tylko 2. Nie wiem czemu ale nie działa. Tworzy tylko plik logów ale nie uruchamia screena(logi są puste) Jeśli uruchamianie aplikacji dam w cudzysłowach efekt jest ten sam. Pytanie w którym miejscu dodać parametr -L dla screena? Testowałem w różnych miejscach i nie działa. I jeszcze jedno pytanie. Zanim uruchomie apliakcję chciałym jeszcze wpisać do screena kilka innych komend jak to zrobić z poziomu skryptu? I jeszcze jendo jak do uruchomionego screena z poziomu skryptu wpisać jakąś komendę? Proszę o pomoc Edytowano Kwiecień 2, 2017 przez Zasepa (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość jotme Zgłoś post Napisano Kwiecień 2, 2017 (edytowany) startServer.sh: #!/bin/sh screen -mdS testowyhlds ./hlds_run -game cstrike +port 27016 >> /home/serwer/loghlds.txt Jaki jest efekt po uruchomieniu ./startServer.sh (wcześniej chmod+x oczywiście) Co pokazuje "screen -ls" Bez -L, bo log zapisujemy do konkretnego pliku loghlds.txt zamiast screenlog.0 Screen zakończy pracę jeśli program w nim zostanie również zakończony (nie będzie aktywny). edit: I jeszcze jedno pytanie. Zanim uruchomie apliakcję chciałym jeszcze wpisać do screena kilka innych komend jak to zrobić z poziomu skryptu? A widzisz, stąd było moje pytanie odnośnie tego czy tylko startujesz aplikacje. W tym przykładzie tego nie zrobisz, więc wracamy do rozwiązania od @Kamikadze Czyli: #!/bin/shscreen -L -mdS testowyhlds ./hlds_run -game cstrike +port 27016 I konsola będzie dostępna i log zapisywany do screenlog.0 Edytowano Kwiecień 2, 2017 przez jotme (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 2, 2017 Jakoś się obejdzie bez wpisywania dodatkowych komend. Niestety ale nie działa prawidłowo. Screen startuje, serwer działa, plik logu zostaje utworzony. Lecz jest pusty. po wpisaniu screen -ls wyskakuje: There is a screen on: 23624.testowyhlds (04/02/17 16:40:39) (Detached) Więc wszystko działa. Tylko ze log jest pusty Mam pytanie do "screen -L -mdS testowyhlds ./hlds_run -game cstrike +port 27016" Czy jeżeli tworzę screena bez parametru -d w skrypcie to czy na koniec skryptu muszę jakoś zrobić to tzw Ctrl + A Ctrl + D w skrypcie?? bo ten skrypt na uruchomienie serwera będzie uruchamiany z crontab. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość jotme Zgłoś post Napisano Kwiecień 2, 2017 Utwórz z -d Potem po prostu screen -r testowyhlds zeby przywolac screena + CTRL+A, D, żeby "zminimalizować". Więc wszystko działa. Tylko ze log jest pusty - A jaki plik sprawdzasz? Jak wybierzesz screen -r testowyhlds to coś w nim jest zapisane? Widać coś w oknie? Samo wywołanie screena lepiej niech nie idzie bezpośrednio tylko ze skryptu. Jutro po pracy mogę do Ciebie zerknąć jeśli chcesz, wyślij mi wtedy PW. Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 2, 2017 - A jaki plik sprawdzasz? no ten "loghlds.txt" I jest on pusty natomiast jak wejdę w ten screen (screen -r testowyhlds) to mam logi z serwera Wiec czemu ich nie zapisuje? Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 3, 2017 (edytowany) Udało mi się. Dałem tak: screen -L -mdS testowyhlds ./hlds_run -game cstrike +port 27015 Wcześniej myślałem ze ten log będzie się tworzył w głównym katalogu użytkownika. Ale on się tworzy w katalogu gdzie jest uruchamiana aplikacja. I teraz wszystko działa. Ale chciałem jeszcze dodać logi ze screena od hltv. Dodałem tak samo. Lecz zamiast utworzyć się kolejny plik(screenlog.1) na logi to logi zapisują się do tego samego pliku co serwer(screenlog.0) Pytanie jak to naprawić? Bardzo dziękuje za pomoc Edytowano Kwiecień 3, 2017 przez Zasepa (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość jotme Zgłoś post Napisano Kwiecień 3, 2017 (edytowany) Pierwszy odpalony screen będzie logował do screenlog.0, każdy n'ty do screenlog.n *** Domyślnie*** W przeciwnym wypadku sprawdź jakie zmiany wprowadzałeś do pliku ~/.screenrc Edytowano Kwiecień 3, 2017 przez jotme (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 3, 2017 Tego pliku nie miałem. Utworzyłem go w głównym katalogu użytkownika i wkleiłem zawartość: logfile flush 0 log on defutf8 on msgwait 2 defscrollback 50 defobuflimit 50 Oczywiście chmod 755 Dobrze zrobiłem? Udostępnij ten post Link to postu Udostępnij na innych stronach
Zasepa 0 Zgłoś post Napisano Kwiecień 7, 2017 Jak to poprawić bo aktualnie nie działa? Nie tworzy drugiego pliku logów Udostępnij ten post Link to postu Udostępnij na innych stronach