View previous topic :: View next topic |
Author |
Message |
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 565 Location: münchen.de
|
Posted: Wed Oct 08, 2014 5:40 pm Post subject: [solved] eix-sync im cron job |
|
|
Hallo zusammmen,
auf meinem Router / Homeserver möchte ich Portage und Overlays gerne per Cron Job synchronisieren. Dann möchte ich mir ein Skript schreiben, dass mögliche Updates und vor allem glsa Checks per Email sendet. Dieser Router / Homeserver soll auch als Sync Mirror für Rechner im LAN dienen.
Das Problem fängt leider schon beim Synchronisieren von Portage im Cron Job an.
Code: | * Syncing all portage overlays
^[[32;01m*^[[39;49;00m Fetching remote list,...
^[[32;01m*^[[39;49;00m Remote list already up to date: http://www.gentoo.org/proj/en/overlays/repositories.xml
^[[32;01m*^[[39;49;00m Last-modified: Wed, 01 Oct 2014 18:10:02 GMT
^[[32;01m*^[[39;49;00m Fetch Ok
^[[32;01m*^[[39;49;00m Syncing selected overlays,...
* Running emerge --sync
>>> Synchronization of repository 'gentoo' located in '/usr/portage'...
rsync: did not see server greeting
rsync error: error starting client-server protocol (code 5) at main.c(1635) [Receiver=3.1.1]
>>> Starting retry 1 of 5 with rsync://[2a01:488:67:1000:b01c:3277:0:1]/gentoo-portage
rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.1]
>>> Starting retry 2 of 5 with rsync://81.91.253.252/gentoo-portage
rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.1]
>>> Starting retry 3 of 5 with rsync://140.211.166.189/gentoo-portage
rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.1]
>>> Starting retry 4 of 5 with rsync://91.186.30.235/gentoo-portage
rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.1]
>>> Starting retry 5 of 5 with rsync://176.28.50.119/gentoo-portage
rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.1]
!!! Exhausted addresses for rsync.gentoo.org
>>> Starting rsync with rsync://[2a01:90:200:10::1a]/gentoo-portage...
>>> Checking server timestamp ...
>>> Retrying...
>>> Checking server timestamp ...
>>> Retrying...
>>> Checking server timestamp ...
>>> Retrying...
>>> Checking server timestamp ...
>>> Retrying...
>>> Checking server timestamp ...
>>> Retrying...
>>> Checking server timestamp ...
>>> Retrying...
* emerge --sync failed
* Time statistics:
4 seconds for syncing
12 seconds total |
Sync in der Konsole funktioniert jederzeit, nur nicht im Cron Job. Internet Verbindung muss da sein, da kurz nach dem Sync Job ein Backup Job losläuft, welcher ein Backup von meinem virtuellen Server aus dem Netz zieht und das läuft fehlerfrei durch.
Code: | cat /etc/cron.daily/eix-sync
#!/bin/bash
/usr/bin/eix-sync
|
Was könnte hier das Problem sein? _________________ # cd /pub/
# more beer
Last edited by forrestfunk81 on Sun Oct 12, 2014 1:23 pm; edited 1 time in total |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Thu Oct 09, 2014 12:18 am Post subject: |
|
|
Quote: | Was könnte hier das Problem sein? |
Die Umgebungsvariablen, speziell PATH?
Ich würde in das Script "/etc/cron.daily/eix-sync" eine Zeile vor dem eix-sync-Aufruf
einfügen und dort die bash-Anweisung "export" reinschreiben.
Dann würde ich schauen was ausgegeben wird, wenn das Script über cron aufgerufen wird.
Das würde ich vergleichen mit der Ausgabe, wenn das Script von Hand aufgerufen wird. |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 565 Location: münchen.de
|
Posted: Thu Oct 09, 2014 10:19 am Post subject: |
|
|
Danke für den Tip, das werd ich heute abend gleich mal ausprobieren. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Thu Oct 09, 2014 11:47 am Post subject: |
|
|
Falls Du systemd benutzt, kann es auch sein, dass das Netzwerk in der entsprechenden cgroup nicht sichtbar ist - systemd hat da (wie auch sonst überall) Etliches verbockt. |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 565 Location: münchen.de
|
Posted: Thu Oct 09, 2014 12:24 pm Post subject: |
|
|
Daran kanns nicht liegen, bei diesem System nutze ich OpenRC.
[Edit]Falls das was zur Sache tut: iirc ist der Cron Daemon vixie-cron. Sitz aber atm nicht vor dem Rechner und werde nochmal nachschauen. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
mrueg Retired Dev
Joined: 08 Jul 2012 Posts: 36 Location: Berlin, Deutschland
|
Posted: Fri Oct 10, 2014 12:09 am Post subject: |
|
|
Mal app-portage/porticron ausprobiert? Sollte deinen Usecase erfüllen. |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 565 Location: münchen.de
|
Posted: Sun Oct 12, 2014 1:22 pm Post subject: |
|
|
mrueg vielen Dank für den Tip. porticron kannte ich noch nicht und das macht genaus das, was ich mir vorgestellt habe.
Einen Netzwerk-relevanten Unterschied in den Umgebungsvariablen konnte ich übrigens nicht feststellen. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3922 Location: Hamburg
|
Posted: Thu Oct 16, 2014 5:01 pm Post subject: |
|
|
Hhm, könnten irgendwelche User/Gruppenberechtigungen da Probleme bereiten ? Der cron job wird ja nicht unter Deiner user-id ausgeführt, oder ? Evtl. tun da policy-kit/dbus/consolekit Dinge dazwischenfunken ?
Füge doch mal den cron user zur portage Gruppe hinzu. Oder du könntest ein "sudo -u <foo user>" oder so im cronjob einfügenund gucken, ob es das geht. |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Thu Oct 16, 2014 5:52 pm Post subject: |
|
|
toralf wrote: | Hhm, könnten irgendwelche User/Gruppenberechtigungen da Probleme bereiten? |
Außer cgroups, hardened-kernel, und ggf. noch merkwürdige iptables-Regeln kann m.W. nichts den Netzverkehr nach außen unterbinden. |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3922 Location: Hamburg
|
Posted: Thu Oct 16, 2014 6:44 pm Post subject: |
|
|
mv wrote: | toralf wrote: | Hhm, könnten irgendwelche User/Gruppenberechtigungen da Probleme bereiten? |
Außer cgroups, hardened-kernel, und ggf. noch merkwürdige iptables-Regeln kann m.W. nichts den Netzverkehr nach außen unterbinden. | Richtig, und außerdem war der rsync an sich doch ok, nur die overlays konnten nicht gesync'ed werden, und das ist eher ein klassisches cron/PATH/environment Problem, denke ich. |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 565 Location: münchen.de
|
Posted: Fri Oct 17, 2014 9:06 am Post subject: |
|
|
mv, ich verwende den hardened Kernel. Was könnte denn dabei das Problem sein?
toralf, der rsync an sich ging doch schon schief, nicht erst die Overlays. Oder lese ich das Log falsch?
Code: | * Running emerge --sync
>>> Synchronization of repository 'gentoo' located in '/usr/portage'...
rsync: did not see server greeting
...
|
Das ganze aber nur noch aus Neugier. Ich verwende jetzt porticron und das läuft sauber durch und sendet mir Mails. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3922 Location: Hamburg
|
Posted: Fri Oct 17, 2014 9:14 am Post subject: |
|
|
Oops, der Originalpost ging mit "* Syncing all portage overlays " los - da ging ich davon aus, das der tree selbst schon durch ist.
Ich habe mir das porticron script angeschaut, da ist kein Hexenwerk drin. Ich tippe auf fehlende PATHs in Verbindung mit cron, da ich den hardened kernel nicht so gut kenne und damit tyisch Mensch dies einfach ausblende.
Aber das Ganze ist meines Erachtens wert, verstanden zu werden - vllt. können die hardened-people ja einen Tipp geben ? |
|
Back to top |
|
|
|