Strona 1 z 1

[+] Automatyczny restart o godzinie 24:00 a po restarcie uruchomienie aplikacji

: 06 lipca 2013, 13:17
autor: zoombozo
Do crona dodałem taką linijkę

Kod: Zaznacz cały

00 24 * * *  root  /sbin/reboot
System automatycznie restartuje się o godzinie 24:00, a jak zrobić aby zaraz po restarcie uruchomił aplikacje na screenie znajdująca się w katalogu
/home/test/ o nazwie ./restart.

Wpadłem na pomysł aby dodać do rc.local taki wpis:

Kod: Zaznacz cały

/home/test/./restart
lecz aplikacja musi być uruchomiona z konta użytkownika test a nie z root. W takim przypadku w jaki sposób najlepiej jest to wykonać? Aby o 24 był restart maszyny a następnie uruchomienie jej ponownie wraz z uruchomieniem takiej aplikacji? Może łatwiej wywołać jakiś skrypt o godzinie 24? Lecz chyba po restarcie skrypt nie zapamięta, że ma wykonać się dalej i uruchomić aplikacje?

: 06 lipca 2013, 17:10
autor: lun
Możesz wykonać zadanie crona po restarcie.

http://www.cyberciti.biz/faq/linux-exec ... em-reboot/

: 09 lipca 2013, 08:38
autor: zoombozo
Dziękuję, a mógłbyś mi napisać taki skrypt na podstawie tego, bo nie bardzo to ogarniam?

Dodane:
Jeszcze raz proszę o dokładne wskazówki co mam wpisać do crona i o ewentualny potrzebny skrypt. Bardzo mi zależy na czasie. Wiem, że są wakacje ale to jest bardzo pilna sprawa, właśnie z powodu wakacji że potrzebuję takiego restartu maszyny, bo nie zawsze jestem przy komputerze.

: 09 lipca 2013, 09:28
autor: lun
Lenistwo ludzi jest przerażające.

W tym linku który podałem miałeś wszystko wypisane na tacy, umiejąc czytać zrobiłbyś to w 10 minut.
Dodaj na końcu crontaba roota:

Kod: Zaznacz cały

@reboot su test -c "/bin/bash [color=#3e3e3e]ścieżka_do_skryptu"[/color]
Oferty SMS'owej nie skomentuję ...

: 09 lipca 2013, 10:10
autor: zoombozo
Dziękuję, ale już podobnie próbowałem. Ustawiłem:

Kod: Zaznacz cały

@reboot su test -c "screen /home/test/./aplikacja"
I niestety aplikacja się nie uruchamia. Ona musi być uruchamiana w screenie.

: 09 lipca 2013, 11:55
autor: lun
Ale to coś co chcesz uruchomić to skrypt czy binarka?

To:

Kod: Zaznacz cały

[color=#333333]/home/test/./aplikacja[/color]
nie ma większego sensu, wiesz w ogóle jak uruchomić, to co chcesz uruchomić?

Kod: Zaznacz cały

[color=#333333]@reboot su test -c "screen -d -m /bin/bash /home/test/aplikacja[/color][color=#3e3e3e]"[/color]
tak to powinno wyglądać jeśli jest to skrypt bash.

Masz w ogóle uprawnienia do uruchomienia tego tworu "aplikacja"?

Przedstaw wynik poleceń:

Kod: Zaznacz cały

file /home/test/aplikacja
ls -l /home/test/aplikacja

: 09 lipca 2013, 15:00
autor: zoombozo
To nie jest skrypt bash, to aplikacja uruchamiająca serwer gry. W jaki sposób mam to uruchomić?

Normalnie robię tak, loguję się na konto test i wpisuję w putty:

Kod: Zaznacz cały

cd /home/test/
screen ./aplikacja
Zamykam aplikację i działa.

Aplikacja wygląda tak:

Kod: Zaznacz cały

#!/bin/bash
ulimit -c unlimited
while true;
do
echo "Restart : `date +%d-%m-%Y--%H:%M`" >> ./restart.log
/home/test/./luzik
sleep 10
done
Uruchamia ona plik ./luzik, w przypadku gdy zamykam proces luzik to znowu go usuwa.

W jaki sposób mam to uruchomić bo sposób, który podałeś wyżej nie działa.

Odnośnie poleceń:

Kod: Zaznacz cały

test@vz1:~$ file /home/test/aplikacja
/home/test/aplikacja: Bourne-Again shell script text executable

Kod: Zaznacz cały

test@vz1:~$ ls -l /home/test/aplikacja
-rwxrwxrwx 1 root root 147 Jul  9 10:27 /home/test/aplikacja

Odnośnie luzik:

Kod: Zaznacz cały

test@vz1:~$ file /home/test/luzik
/home/test/luzik: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped

Edycja:
D
obrze, nieaktualne.