Prosz

Potrzebujesz pomocy z C, C++, perl, python, itp.
martynka19
Posty: 2
Rejestracja: 09 lutego 2011, 13:21

Proszę o pomoc w napisaniu skryptu .sh

Post autor: martynka19 »

Mam napisany skrypt do crontaba, który uruchamia pewną aplikację. Jaką podać linię która odbierze dane z konsoli tego programu? Czy jest to w ogóle możliwe? Proszę o pomoc.
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

Może coś takiego Ci pomoże. To jest prosty skrypt logujący to co zwraca konsola po aktualizacji czasu systemowego. Skrypt jest wykonywany codziennie, umieszczony w /etc/cron.daily/

Kod: Zaznacz cały

#!/bin/bash
### BEGIN INIT INFO
# Provides:          time
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
logfile="/var/log/time-updates.log"
lista() {
    ntpdate ntp.nask.pl
}
        echo $(lista) > $logfile

###
#---|
#---| ----->Tagi LSB
#---|
#---|
###
logfile="/var/log/time-updates.log" --- > gdzie maja być umieszczane logi.
ntpdate ntp.nask.pl ----> program (polecenie uruchamiające)

Logi sa nadpisywane za każdym uruchomieniem skryptu. Wystarczy zmienić :

Kod: Zaznacz cały

echo $(lista) > $logfile
na

Kod: Zaznacz cały

echo $(lista) >> $logfile
by to zmienić.
Plikowi takiemu trzeba dodać flagę wykonywalnego:

Kod: Zaznacz cały

su
chmod +x /etc/cron.daily/time 
by działało..
Wynik:
cat /var/log/time-updates.log

Kod: Zaznacz cały


9 Mar 19:59:05 ntpdate[9232]: adjust time server 195.187.245.55 offset -0.004583 sec

Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

DaVidoSS, tak poza tematem, jaki jest sens umieszczania tagów LSB w zwykłym skrypcie? Nie wspominając już o tworzeniu skryptu do tak prostego zadania ;)
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

A pewnie że nie ma sensu ale jak z doświadczenia się zauważa: nuż wpadnie użytkownik na pomysł dodać takowy do initscripts i dopiero się będzie darł insserv przy aktualizacji. A tak są LSB tagi i nie przeszkadzają sobie. Ale skoroś Waść tutaj raczył zajrzeć własną osobistością to pewnikiem jakiś lepszy pomysł zaraz wskoczy. :D
ODPOWIEDZ