Seite 1 von 1

Zeitgesteuerte Produktinstallation

Verfasst: 30 Jun 2009, 15:19
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

Re: Zeitgesteuerte Produktinstallation

Verfasst: 30 Jun 2009, 16:52
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

Re: Zeitgesteuerte Produktinstallation

Verfasst: 26 Apr 2017, 11:43
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

Re: Zeitgesteuerte Produktinstallation

Verfasst: 26 Apr 2017, 13:07
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

Re: Zeitgesteuerte Produktinstallation

Verfasst: 26 Apr 2017, 16:38
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?

Re: Zeitgesteuerte Produktinstallation

Verfasst: 03 Mai 2017, 14:36
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

Re: Zeitgesteuerte Produktinstallation

Verfasst: 03 Mai 2017, 21:34
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'.

Re: Zeitgesteuerte Produktinstallation

Verfasst: 15 Mai 2017, 13:01
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