expertenaustausch > comp.os.* > comp.os.unix.apps.misc

Andreas Kohlbach (06.03.2020, 07:33)
Ich finde in $HOME eine Menge wget-log*. Diese werden offenbar nur bei
Fehlern erstellt, okay.

Ich hätte sie lieber aber in /var/tmp, wo Dateien automatisch nach acht
Tagen Alters abgeräumt werden. Die man page nennt

logfile = file

für die wgetrc. Das scheint aber *eine* Datei zu erstellen, wo alle Logs
rein kommen. Kann man es einrichten, dass mehrere Dateien, wie derzeit in
$HOME zu finden, in /var/tmp angelegt werden?
Helmut Waitzmann (06.03.2020, 17:38)
Andreas Kohlbach <ank>:

>Ich finde in $HOME eine Menge wget-log*. Diese werden offenbar
>nur bei Fehlern erstellt, okay.


Nein, je nach Einstellung nicht nur bei Fehlern.

>Ich hätte sie lieber aber in /var/tmp, wo Dateien automatisch
>nach acht Tagen Alters abgeräumt werden.


Das automatische Abräumen wäre ein Fehler.  Mein System
beispielsweise läuft in der Regel länger als 8 Tage.  Das Kommando

(
cd /var/tmp/ &&
exec find -H -- . ! -name . -mmin +"$((8*24*60))" \
! -exec env 'TIME_STYLE=+%Y-%m-%d' ls -QF1nod -- '{}' +
)

spuckt die Ausgabe:

prw------- 1 1001 0 2020-02-19 "./FvwmCommand-meersau:1.0C"|
prw------- 1 1001 0 2020-02-19 "./FvwmCommand-meersau:1.0M"|
prw------- 1 1000 0 2020-02-03 "./FvwmCommand-meersau:2.0C"|
prw------- 1 1000 0 2020-02-03 "./FvwmCommand-meersau:2.0M"|

Die zwei angemeldeten Benutzer würden dem Administrator in den
Hintern treten, wenn bei ihnen nach 8 Tagen der Fvwm nicht mehr
richtig funktionieren würde.

>Die man page nennt
>logfile = file
>für die wgetrc. Das scheint aber *eine* Datei zu erstellen, wo
>alle Logs rein kommen. Kann man es einrichten, dass mehrere
>Dateien, wie derzeit in $HOME zu finden, in /var/tmp angelegt
>werden?


Mit Hilfe der Konfigurationsdatei?  Nicht, dass ich wüsste. Man
kann aber bei jedem Wget?Aufruf mit den Optionen «-o» oder «-a»
festlegen, wohin das Log geht.

Die definitive Antwort sollte aber die Dokumentation (info) geben.
Andreas Kohlbach (06.03.2020, 19:14)
On Fri, 06 Mar 2020 16:38:45 +0100, Helmut Waitzmann wrote:
> Andreas Kohlbach <ank>:
> Mit Hilfe der Konfigurationsdatei?  Nicht, dass ich wüsste.  Man kann
> aber bei jedem Wget?Aufruf mit den Optionen «-o» oder «-a» festlegen,
> wohin das Log geht.


Ich wollte das automatisch erledigt haben. Also nicht bei jedem Aufruf
diese Option an die Kommando_Zeile übergeben.

> Die definitive Antwort sollte aber die Dokumentation (info) geben.


/usr/share/info/wget.info.gz gibt außer der Angabe auf der Kommando-Zeile
nichts her, was sich automatisieren ließe.
Helmut Waitzmann (06.03.2020, 21:47)
Andreas Kohlbach <ank>:
>On Fri, 06 Mar 2020 16:38:45 +0100, Helmut Waitzmann wrote:
>> Andreas Kohlbach <ank>:


>Ich wollte das automatisch erledigt haben. Also nicht bei jedem
>Aufruf diese Option an die Kommando_Zeile übergeben.
>/usr/share/info/wget.info.gz gibt außer der Angabe auf der
>Kommando-Zeile nichts her, was sich automatisieren ließe.


Gibt sie das von dir beobachtete Verhalten, im HOME?Verzeichnis
Dateien der Form wget-log* anzulegen, her?
Andreas Kohlbach (07.03.2020, 15:44)
On Fri, 06 Mar 2020 20:47:46 +0100, Helmut Waitzmann wrote:
> Andreas Kohlbach <ank>:
> Gibt sie das von dir beobachtete Verhalten, im HOME?Verzeichnis
> Dateien der Form wget-log* anzulegen, her?


Außer dem schon vor die erwähnten "-o" sehe ich

?-o LOGFILE?
?--output-file=LOGFILE?
Log all messages to LOGFILE. The messages are normally reported to
standard error.

?-a LOGFILE?
?--append-output=LOGFILE?
Append to LOGFILE. This is the same as ?-o?, only it appends to
LOGFILE instead of overwriting the old log file. If LOGFILE
does not exist, a new file is created.

Es wird immer nur von *einer* Datei geschrieben. Nichts von einem
Directory, wo das rein soll.

Ich habe eben 20 Minuten in der Datei gelesen. Das kleine Ärgernis, dass
alles in $HOME geloggt wird, ist es mir die Zeit nicht wert. Ich hoffte,
jemand kannte das Problem schon und hat eine Lösung parat.

Lassen wir das. Trotzdem herzlichen Dank an Dich.
Diedrich Ehlerding (07.03.2020, 20:51)
Andreas Kohlbach meinte:

> Es wird immer nur von *einer* Datei geschrieben. Nichts von einem
> Directory, wo das rein soll.
> Ich habe eben 20 Minuten in der Datei gelesen. Das kleine Ärgernis, dass
> alles in $HOME geloggt wird, ist es mir die Zeit nicht wert.


Das hiesige wget schreibt nur dann, wenn es im Hintergrnnd läuft, nach
"wget-log" und wenn das schon existiert nach "wget-log.<laufendenummer>".
Wenn es im Vordergrund läuft, schreib es nach stderr, wenn keine Option
"-o logfile" angegeben ist. Und es schreibt nicht nach $HOME, sondern nach
$PWD.

Kann es denn vorkommen, dass bei dir mehrere wgets parallel im selben $PWD
laufen? Wenn nicht, wäre in deinem Ablauf ein vorangehendes "cd /var/tmp/"
eine Alternative? Oder alternativ nach dem wget ein
"mv wget-log /var/tmp/wget-log.`date +%F-%T`" oder so ähnlich?
Frank Miller (08.03.2020, 03:00)
Andreas Kohlbach wrote:
> On Fri, 06 Mar 2020 16:38:45 +0100, Helmut Waitzmann wrote:
> Ich wollte das automatisch erledigt haben. Also nicht bei jedem Aufruf
> diese Option an die Kommando_Zeile übergeben.


Mal ganz naive Idee (ich bin da nicht so ganz kundig): ließe sich nicht
für wget zumindest ein Alias mit der Option "-o" festlegen?
Andreas Kohlbach (08.03.2020, 17:51)
On Sat, 07 Mar 2020 19:51:04 +0100, Diedrich Ehlerding wrote:
> Andreas Kohlbach meinte:
> Das hiesige wget schreibt nur dann, wenn es im Hintergrnnd läuft, nach
> "wget-log" und wenn das schon existiert nach "wget-log.<laufendenummer>".
> Wenn es im Vordergrund läuft, schreib es nach stderr, wenn keine Option
> "-o logfile" angegeben ist. Und es schreibt nicht nach $HOME, sondern nach
> $PWD.


Hast Du nie Errors (Seite nicht erreichbar oder anderes)?

> Kann es denn vorkommen, dass bei dir mehrere wgets parallel im selben $PWD
> laufen? Wenn nicht, wäre in deinem Ablauf ein vorangehendes "cd /var/tmp/"
> eine Alternative? Oder alternativ nach dem wget ein
> "mv wget-log /var/tmp/wget-log.`date +%F-%T`" oder so ähnlich?


"cd /var/tmp/" mag eine gute Idee sein, die ich ausprobieren sollte.
Andreas Kohlbach (08.03.2020, 17:53)
On Sun, 8 Mar 2020 02:00:22 +0100, Frank Miller wrote:
> Andreas Kohlbach wrote:
> Mal ganz naive Idee (ich bin da nicht so ganz kundig): ließe sich nicht
> für wget zumindest ein Alias mit der Option "-o" festlegen?


-o legt *eine* Datei fest, anstatt mehrere Dateien in einem vorgegeben
Verzeichnis anzulegen.
Diedrich Ehlerding (08.03.2020, 20:30)
Andreas Kohlbach meinte:

>> Das hiesige wget schreibt nur dann, wenn es im Hintergrnnd läuft, nach
>> "wget-log" und wenn das schon existiert nach
>> "wget-log.<laufendenummer>". Wenn es im Vordergrund läuft, schreib es
>> nach stderr, wenn keine Option "-o logfile" angegeben ist. Und es
>> schreibt nicht nach $HOME, sondern nach $PWD.

> Hast Du nie Errors (Seite nicht erreichbar oder anderes)?


Wie kommst du auf diese Frage? Glaubst du nicht, was ich da ausprobiert
und besc hrieben habe; und wenn, wieso nicht? Ich habe testweise Fehler
provoziert provoziert (Server nicht erreichbar); die Meldung erschien nach
"wget http://unbekannter.server.invalid" auf stderr (und eben nicht in
wget-log*); nach "wget &" erzeuigte er
bei mir ein wget-log und be Wiederholunmg ein get-log.1 Ich benutze wget
nur selten und wenn, dann normalerweise im Vordergrund.

Bei mir jedenfalls

- schreibt es Fehlermeldungen nur nach "wget-log*", wenn es im Hintergrund
läuft; ansonsten nach stderr .

- und erzeugt ggf. eben wget-log* nicht in $HOME/, sondern in $PWD/ ,
anders als du es beschrieben hast.

Schau hierhin. Erstmal in $HOME, dann in /tmp probier:

diedrich@diedrich:~> ls wget-log*
ls: Zugriff auf 'wget-log*' nicht möglich: Datei oder Verzeichnis nicht
gefunden
diedrich@diedrich:~> wget
--2020-03-08 19:27:32--
Auflösen des Hostnamens unbekannter.server.invalid
(unbekannter.server.invalid)? fehlgeschlagen: Der Name oder der Dienst ist
nicht bekannt.
wget: Host-Adresse »unbekannter.server.invalid« kann nicht aufgelöst
werden
diedrich@diedrich:~> wget
[1] 11554
diedrich@diedrich:~>
Ausgabe wird nach »wget-log« umgeleitet.

[1]+ Exit 4 wget
diedrich@diedrich:~> wget
[1] 11562
diedrich@diedrich:~>
Ausgabe wird nach »wget-log.1« umgeleitet.

[1]+ Exit 4 wget
diedrich@diedrich:~> ls wget-log*
wget-log wget-log.1

Und jetzt in einem anderen Directory:

diedrich@diedrich:~> cd /tmp
diedrich@diedrich:/tmp> ls wget-log*
ls: Zugriff auf 'wget-log*' nicht möglich: Datei oder Verzeichnis nicht
gefunden
diedrich@diedrich:/tmp> wget
[1] 11783
diedrich@diedrich:/tmp>
Ausgabe wird nach »wget-log« umgeleitet.

[1]+ Exit 4 wget
diedrich@diedrich:/tmp> wget
[1] 11788
diedrich@diedrich:/tmp>
Ausgabe wird nach »wget-log.1« umgeleitet.

[1]+ Exit 4 wget
diedrich@diedrich:/tmp> ls wget-log*
wget-log wget-log.1
diedrich@diedrich:/tmp>
Diedrich Ehlerding (08.03.2020, 20:37)
Andreas Kohlbach meinte:

>> Mal ganz naive Idee (ich bin da nicht so ganz kundig): ließe sich nicht
>> für wget zumindest ein Alias mit der Option "-o" festlegen?

> -o legt *eine* Datei fest, anstatt mehrere Dateien in einem vorgegeben
> Verzeichnis anzulegen.


Wasd spricht gegen "wget -o wget-log.`date +%F-%T-%N`" (mit %N sollte der
Dateiname eindeutig werden)?

diedrich@diedrich:/tmp> wget -o wget-log.`date +%F-%T-%N`

diedrich@diedrich:/tmp> ls wget*
wget-log.2020-03-08-19:35:41-274278469
diedrich@diedrich:/tmp> wget -o wget-log.`date +%F-%T-%N`

diedrich@diedrich:/tmp> wget -o wget-log.`date +%F-%T-%N`

diedrich@diedrich:/tmp> ls wget*
wget-log.2020-03-08-19:35:41-274278469 wget-
log.2020-03-08-19:35:51-810318597
wget-log.2020-03-08-19:35:50-826233600
diedrich@diedrich:/tmp>
Andreas Kohlbach (09.03.2020, 14:31)
On Sun, 08 Mar 2020 19:37:12 +0100, Diedrich Ehlerding wrote:
> Andreas Kohlbach meinte:
> Wasd spricht gegen "wget -o wget-log.`date +%F-%T-%N`" (mit %N sollte der
> Dateiname eindeutig werden)?


Es geht mir darum, kein "unnötigen" Angaben zu machen. Wollte, dass ich
in der .wgetrc sage, in welches Verzeichnis er loggen soll. Was
funktionieren soll, ist die Vorgabe *eines* Logfiles an beliebigem Ort,
an das angehängt wird.
Andreas Kohlbach (09.03.2020, 14:31)
On Sun, 08 Mar 2020 19:30:31 +0100, Diedrich Ehlerding wrote:
> Andreas Kohlbach meinte:
> Wie kommst du auf diese Frage? Glaubst du nicht, was ich da ausprobiert
> und besc hrieben habe; und wenn, wieso nicht? Ich habe testweise Fehler
> provoziert provoziert (Server nicht erreichbar); die Meldung erschien nach
> "wget http://unbekannter.server.invalid" auf stderr (und eben nicht in
> wget-log*); nach "wget &" erzeuigte er
> bei mir ein wget-log und be Wiederholunmg ein get-log.1 Ich benutze wget
> nur selten und wenn, dann normalerweise im Vordergrund.


Ich habe gestern vermutlich 'wenn eine Option "-o logfile"' statt 'wenn
keine Option "-o logfile"' gelesen, sorry.

[..]
> diedrich@diedrich:~> ls wget-log*
> wget-log wget-log.1
> Und jetzt in einem anderen Directory:


[...]

Ich verstehe nichts mehr. Es wird nun in *keinem* Fall ein wget-log
angelegt. Nicht in $HOME und nicht in /tmp. wenn ich da vorher hinein
wechsle.
Diedrich Ehlerding (09.03.2020, 15:17)
Andreas Kohlbach meinte:

>> Was spricht gegen "wget -o wget-log.`date +%F-%T-%N`" (mit %N sollte
>> der Dateiname eindeutig werden)?

> Es geht mir darum, kein "unnötigen" Angaben zu machen. Wollte, dass ich
> in der .wgetrc sage, in welches Verzeichnis er loggen soll. Was
> funktionieren soll, ist die Vorgabe *eines* Logfiles an beliebigem Ort,
> an das angehängt wird.


Ich fürchte, ich verstehe dein Problem nicht.

Wenn du einzelne Logfiles, eines für jeden Aufruf von wget, in einem
bestimmten Verzeichnis haben willst, dann machst du wie oben den
Dateinamen eindeutig und erzeugst für jeden wget-Aufruf ein eigenes
Logfile mit Datum, Uhrzeit und noch irgendwelchen Nanosekunden im Namen.
Diede Logfiles kannst du nbatürlich auch in ein beliebiges Verzeichnis
legen (... -o /di/rec/to/ry/wget-log.`date +%F-%T-%N` )

Wenn du alles in ein einziges Logfile schreiben lassen wisst (immer
hintendran), dann nutze "wget -a /di/rec/t/ry/sammel-LLogfile. Und wenn du
für jeden Tag ein eigenes Logfile haben möchtest, aber alle wgets eines
Tages im selben, und wenn alle diese Logfilkes in einem bestimmetn
Directtory liegen soollen, dann eben
" ... -o /di/rec/to/ry/wget-log.`date +%F`; das
Logfile wird dann beim ersten wget des Tages erzeugt und dann wird
hintendrangeschrieben.

Ja, das steht dann nicht im .wgetrc. So what?
Christian Garbs (09.03.2020, 20:59)
Mahlzeit!

Diedrich Ehlerding <diedrich.ehlerding> wrote:

> Wenn du alles in ein einziges Logfile schreiben lassen wisst (immer
> hintendran), dann nutze "wget -a /di/rec/t/ry/sammel-LLogfile. Und wenn du
> für jeden Tag ein eigenes Logfile haben möchtest, aber alle wgets eines
> Tages im selben, und wenn alle diese Logfilkes in einem bestimmetn
> Directtory liegen soollen, dann eben
> " ... -o /di/rec/to/ry/wget-log.`date +%F`; das


-a, nicht -o :-)

> Logfile wird dann beim ersten wget des Tages erzeugt und dann wird
> hintendrangeschrieben.


Gruß
Christian

Ähnliche Themen