Zeitgesteuerte Produktinstallation

Antworten
JTR
Beiträge: 40
Registriert: 02 Jun 2009, 07:33

Zeitgesteuerte Produktinstallation

Beitrag von JTR »

Hallo zusammen,

ich wollte mal fragen, ob es bei opsi eine Möglichkeit gibt, eine Produktinstallation zeitgesteuert durchzuführen, also dass ich z.B. dem Server jetzt sage, er soll heut Abend um 22:00 Uhr VLC installieren und der Server dann den gewünschten Client eben zu dieser Zeit aufweckt und die Installation durchführt? Ist sowas möglich?

MFG
JTR
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Zeitgesteuerte Produktinstallation

Beitrag von d.oertel »

Hi,

jein

es gibt zur Zeit noch kein zeitgesteuertes Job Handling.

Möglich ist es ein Produkt auf setup zu setzen und vom Server aus per cronjob über opsi-admin zu einer bestimmten Zeit ein WakeOnLan Signal abzusetzen.

gruss

detlef oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Vir2ell
Beiträge: 16
Registriert: 20 Okt 2014, 13:54
Wohnort: Braunschweig

Re: Zeitgesteuerte Produktinstallation

Beitrag von Vir2ell »

Hallo,

da der letzte Beitrag inzwischen fast 8 Jahre zurück liegt, wollte ich noch einmal nachfragen, ob es inzwischen vorgesehen ist, dass opsi die Möglichkeit besitzt zu einem bestimmten Zeitpunkt ein bestimmtes Skript, bzw. eine bestimmte Installation auszuführen.
Beispielsweise soll eine Installation ein mal im Monat für alle Clients in einer Gruppe ausgeführt werden.

Leider habe ich bis jetzt noch nichts weiter darüber gefunden, daher die Frage, ist dieses Vorhaben inzwischen möglich?

MfG
Vir2ell
andré
Beiträge: 324
Registriert: 07 Jan 2014, 10:48

Re: Zeitgesteuerte Produktinstallation

Beitrag von andré »

Per Cron ist das möglich. Siehe zum Beispiel hier, mit dem Beispiel Softwareaudit alle paar Tage auf setup zu stellen.
viewtopic.php?f=7&t=9136&p=40564#p40611
Benutzeravatar
r.roeder
uib-Team
Beiträge: 540
Registriert: 02 Jul 2008, 10:08

Re: Zeitgesteuerte Produktinstallation

Beitrag von r.roeder »

wenn es nicht regelmäßig sein soll - dann ist die Cron-Konfiguration nach wie vor die richtige Methode -, sondern eine Aktion der Art "heute Nacht" bietet der configed inzwischen einen Planer, der Clients mit Zeitvorgabe wecken und so Installationen anstoßen kann.

Vielleicht ist das die gesuchte Antwort?
opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.


Wondering who's using opsi? Have a look at the opsi map: http://opsi.org/opsi-map/.
Vir2ell
Beiträge: 16
Registriert: 20 Okt 2014, 13:54
Wohnort: Braunschweig

Re: Zeitgesteuerte Produktinstallation

Beitrag von Vir2ell »

Hi,

Danke für eure Hilfe.
Ich konnte die zeitgesteuerte Ausführung eines Skripts nun mit Hilfe des paketbuilders realisieren.
Da das Skript nicht oft laufen wird, ist es kein Problem den kurzen Aufwand hinzunehmen das Skript für 1 bis 2 Jahre durchzuplanen.

LG
Vir2ell
Benutzeravatar
GEI
Beiträge: 229
Registriert: 12 Feb 2010, 13:00
Wohnort: Braunschweig
Kontaktdaten:

Re: Zeitgesteuerte Produktinstallation

Beitrag von GEI »

r.roeder hat geschrieben:der Art "heute Nacht" bietet der configed inzwischen einen Planer, der Clients mit Zeitvorgabe wecken und so Installationen anstoßen kann.
ich würde als Anregung hier anmerken, dass man für eine zukünftige Version des ConfigEd das Ergebnis des Planers an das darunterliegende Linux-OS des OPSI-Servers als Cron- oder At-Job übergibt.
In der bisherigen Form, in dem der ConfigEd auf einen eingeschalteten Client läuft, ist es manchmal 'unkomfortabel'.
Georg-Eckert-Institut - Leibniz-Institut für internationale Schulbuchforschung (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
http://www.gei.de/o4i - https://wiki.o4i.org
JMS
Beiträge: 94
Registriert: 22 Nov 2010, 12:05

Re: Zeitgesteuerte Produktinstallation

Beitrag von JMS »

Hallo,

das mit dem CRON-Job ist doch kein Hexenwerk! Das nachfolgende Skript (Auszug!!) läuft bei mir werktags ab 19:00 Uhr stündlich bis morgens um 5, ob nun Verteiljobs anstehen oder nicht.

Wie gesagt: Das hier ist nur ein Auszug meines Skripts und als Denksanstoß gedacht:

Code: Alles auswählen

# VARIABLEN DEFINIEREN ##########################################################################################

# MAIL-VERSAND ##################################################################################################
#
# Sollte ein anderer Absender gewünscht sein, dann Absendername einfach in der /etc/passwd den.
# Username ersetzen, z.B.:
# ALT: root:x:0:0:root:/root:/bin/bash
# NEU: root:x:0:0:MEIN ABSENDERNAME:/root:/bin/bash

post_swaudit=1<><------># Nach Verteilung swaudit (Softwareinventariserung starten? 0=nein; 1=ja)


##########################################################################
## Los gehts #############################################################


# Prüfen, ob MUTT da ist
    mailtool="mutt"
    if [[ -f $(which $mailtool 2>/dev/null) ]]; then
        echo "$mailtool vorhanden, alles klar" >/dev/null
    else
        echo -n "ACHTUNG: Das Mailtool $mailtool muss noch installiert werden. Bitte wenden Sie sich an Ihren Admin. Danke"
        apt-get install mutt -y
        echo -e "\n#KONFIGURATIONSANPASSUNG\nset copy=no" >> /etc/Muttrc
    fi

# VARIABLEN AUS EXTERNER DATEI EINLESEN #########################################################################

    INIFILE="/OPSI/settings.ini"
    if [ -f ${INIFILE} ] ; then
        source $INIFILE
    else
        echo "Problem: Initialisierungsdatei \"$INIFILE\" kann nicht eingelesen werden --> ABBRUCH"
        exit
    fi

# PRÜFUNG, OB ES EINE CLIENT-BLACKLIST GIBT (WENN NICHT, DANN ABBRUCH!)
    if grep --quiet "CLIENTBLACKLIST" $INIFILE ; then
        echo "Ausgeschlossene Client(s): $CLIENTBLACKLIST"
    else
        echo "Keine Client-Blacklist vorhanden. Sicherheitshalber ABBRUCH!"
        exit
    fi


# PRÜFEN WELCHE PC-SYSTEME AUF EINE AUSFÜHRUNG WARTEN (STATUS "SETUP" ODER "ONCE")
    echo "Ermittle den aktuellen Status der bekannten PC-Systeme... bitte warten"
    for i in $(opsi-admin -dS method getClientIds_list null null null null null '["setup","once","uninstall"]'); do
        echo $i >>lastrun.txt
        echo "**********************************************************"
        echo "PC-System $i hat offene Jobs..."

        # Steht System in der Blacklist? (wenn ja, dann ist hier Schluss!)
            if [ "$(echo $CLIENTBLACKLIST | grep -o $i)" = "$i" ]; then
                echo "PC-System $i wurde in die Blacklist eingetragen: für dieses System ist die automatische Ausführung deaktiviert"
                continue 2
            fi
        # SWAUDIT STARTEN?
            if [ "$post_swaudit" = "1" ]; then
                opsi-admin -d method setProductActionRequest swaudit $i setup
            fi

        # Ermitteln, welche PCs erreichbar sind
            if [ "$(opsi-admin -dS method hostControl_reachable $i | cut -d "=" -f2)" = "true" ]; then
                echo "PC-System $i ist online, starte Verteilung..."
                opsi-admin -d method hostControl_fireEvent "on_demand" "$i"
            else
                echo "PC-System $i ist offline, versuche System per WOL zu starten und erzwinge - weil ja zuvor offline - das Herunterfahren..."
                opsi-admin -d method setProductActionRequest shutdownwanted $i once
                opsi-admin -d method powerOnHost $i
            fi
    done

# FERTIG
exit


Viele Grüße
Antworten