Ubuntu Gutsy: syslogd wil niet starten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • roawser
  • Registratie: Januari 2009
  • Niet online
Ik merk dat ik sinds een dag of wat geen info meer krijg in /var/log/syslog. Het is een bestandje van 0 bytes.
Ik zie met "ps aux | grep logd" dat syslog helemaal niet draait.

/etc/init.d/sysklogd reload-or-restart geeft als reactie:

* Starting system log daemon... usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path] [-s domainlist] [-f conffile] [-u user]
[fail]

Wat nu gedaan? Ik ben toch wel gehecht aan mijn syslog.
Versie: Ubunty Gutsy 7.10

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 18:11

Kees

Serveradmin / BOFH / DoC
hoe start het sysklogd script de daemon dan?

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • roawser
  • Registratie: Januari 2009
  • Niet online
Dat weet ik niet precies, ik ben niet zo thuis in die scripts. In ieder geval is het script niet veranderd. Ik heb deze machine twee of drie dagen geleden vers geinstalleerd, en syslog heeft de eerste dag gewoon gewerkt. Verder heb ik er (volgens mij) geen rare dingen mee gedaan, behalve Citadel erop gezet en wat SSH keys aangemaakt.

". /lib/lsb/init-functions" staat er, en daarna een heel lange procedure (functie) genaamd create_xconsole()

Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 10-09 20:50

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Er zit kennelijk een syntaxfout in de manier waarop sysklogd wordt aangeroepen. Het is dus wel enigszins belangrijk dat we weten wat er in dat script staat. Je zegt dat het script niet veranderd is? Hoe zeker weet je dat?

Launching containers into space


Acties:
  • 0 Henk 'm!

  • roawser
  • Registratie: Januari 2009
  • Niet online
Het bestand sysklogd heeft een laatste wijzigingsdatum uit 2007; ik heb het systeem minder dan een week geleden geínstalleerd. Ik heb het systeem met slechts één poort naar buiten toe open staan (22) en daar worden geen root inlogs en alleen inlogs met private key bestand geaccepteerd, dus ik denk eigenlijk niet aan menselijke invloed behalve mijzelf. En ik weet van niks...

Hieronder is mijn /etc/init.d/sysklogd
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#! /bin/sh
# /etc/init.d/sysklogd: start the system log daemon.

### BEGIN INIT INFO
# Provides:             syslog
# Required-Start:       $local_fs $time
# Required-Stop:        $local_fs $time
# Should-Start:         $network $named
# Should-Stop:          $network $named
# Default-Start:        S 1 2 3 4 5
# Default-Stop:         0 6
# Short-Description:    System logger
### END INIT INFO

PATH=/bin:/usr/bin:/sbin:/usr/sbin

pidfile=/var/run/syslogd.pid
binpath=/sbin/syslogd

test -x $binpath || exit 0
. /lib/lsb/init-functions

# syslogd options should be set in /etc/default/syslogd
SYSLOGD=""

# user to run syslogd as - this can overriden in /etc/default/syslogd
USER="syslog"

test ! -r /etc/default/syslogd || . /etc/default/syslogd

# allow ltsp to override
test ! -r /etc/ltsp/syslogd || . /etc/ltsp/syslogd

# Figure out under which user syslogd should be running as
if echo ${SYSLOGD} | grep -q '^.*-u[[:space:]]*\([[:alnum:]]*\)[[:space:]]*.*$'
then
    # A specific user has been set on the command line, try to extract it.
    USER=$(echo ${SYSLOGD} | sed -e 's/^.*-u[[:space:]]*\([[:alnum:]]*\)[[:space:]]*.*$/\1/')
else
    # By default, run syslogd under the syslog user
    SYSLOGD="${SYSLOGD} -u ${USER}"
fi

# Unable to get the user under which syslogd should be running, stop.
if [ -z "${USER}" ]
then
    log_failure_msg "Unable to get syslog user"
    exit 1
fi

. /lib/lsb/init-functions

create_xconsole()
{
    # Only proceed if /dev/xconsole is used at all
    if ! grep -q '^[^#].*/dev/xconsole' /etc/syslog.conf
    then
    return
    fi

    if [ ! -e /dev/xconsole ]; then
    mknod -m 640 /dev/xconsole p
    else
    chmod 0640 /dev/xconsole
    fi

    chown ${USER}:adm /dev/xconsole

}

fix_log_ownership()
{
    for l in `syslogd-listfiles -a`
    do
        chown ${USER}:adm $l
    done
}

running()
{
    # No pidfile, probably no daemon present
    #
    if [ ! -f $pidfile ]
    then
    return 1
    fi

    pid=`cat $pidfile`

    # No pid, probably no daemon present
    #
    if [ -z "$pid" ]
    then
    return 1
    fi

    if [ ! -d /proc/$pid ]
    then
    return 1
    fi

    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`

    # No syslogd?
    #
    if [ "$cmd" != "$binpath" ]
    then
    return 1
    fi

    return 0
}

case "$1" in
  start)
    log_begin_msg "Starting system log daemon..."
    create_xconsole
    fix_log_ownership
    start-stop-daemon --start --quiet --pidfile $pidfile --name syslogd --startas $binpath -- $SYSLOGD
    log_end_msg $?
    ;;
  stop)
    log_begin_msg "Stopping system log daemon..."
    start-stop-daemon --stop --quiet --pidfile $pidfile --name syslogd
    log_end_msg $?
    ;;
  reload|force-reload)
    log_begin_msg "Reloading system log daemon..."
    fix_log_ownership
    start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile --name syslogd
    log_end_msg $?
    ;;
  restart)
    log_begin_msg "Restarting system log daemon..."
    start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile --name syslogd
    fix_log_ownership
    start-stop-daemon --start --quiet --pidfile $pidfile --name syslogd --startas $binpath -- $SYSLOGD
    log_end_msg $?
    ;;
  reload-or-restart)
    if running
    then
    $0 reload
    else
    $0 start
    fi
    ;;
  *)
    log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}"
    exit 1
esac

exit 0

[ Voor 0% gewijzigd door een moderator op 21-02-2009 17:44 . Reden: Bericht leesbaar gemaakt met code-tags :) ]


Acties:
  • 0 Henk 'm!

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 10-09 20:50

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Wat is de inhoud van /etc/default/sysklogd en /lib/lsb/init-functions ?

Launching containers into space


Acties:
  • 0 Henk 'm!

  • roawser
  • Registratie: Januari 2009
  • Niet online
Whiee, je bent de held van de dag. Er bleek SYSLOGD="0" te staan. Gevolg van te ijverige reductie van schijftoegang. (Ik wilde de schijf laten uitspinnen bij inactiviteit van de server).

Nu maar iets proberen met wegschrijven op een ram-partitie, en op gezette tijden naar de HDD. Weer iets om aan te puzzelen.
Pagina: 1