#!/bin/bash ##################################################################################### # Shellscript : Script stellt sicher, dass das Gerät neugestartet worden ist. # Autor : Andreas Vogel, macenterprise gmbh, 17.12.2019 ##################################################################################### #################################### Time Today #################################### today=$(date +%s) echo "Heute ist der $today" #################################### Daemond ans Script #################################### listDaemons=" /Library/LaunchDaemons/de.ing.FiveMinWarningDaemon.plist /Library/LaunchDaemons/de.ing.LastWarningDaemon.plist " listScripts=" LastWarningScript.sh FiveMinWarningScript.sh " ################################# Unload or Remove ################################# removeDaemon(){ for d in $listDaemons do if [ -f "$d" ] then echo $d sudo launchctl unload $d sudo rm $d fi done } removeScrpit(){ for s in $listScripts do if [ -f "/Library/Application Support/JAMF/ING/$s" ] then echo $s rm -rf "/Library/Application Support/JAMF/ING/$s" fi done } #################################### Jamf Helper #################################### jamfHelper="/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper" jamf="/usr/local/bin/jamf" user=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2) INGIcon="/Users/$user/Library/Application Support/com.jamfsoftware.selfservice.mac/Documents/Images/brandingimage.png" EnforceMessage=" Der geplante Neustart für dem $Day um $hour:$minute konnte nicht durchgeführt werden. Möglicherweise befand sich das Gerät im Ruhemodus. Der Neustart wird nun durchgeführt. " ################################# Find last Reboot ################################# # Zeit umwandeln # wird benötigt um die Zeit in ein Gewünschtes Format umzuwandeln # Es kann umgewandelt werden in Uhrzeit oder Datum # lastBootFormatMin=$(date -jf "%s" "$lastBootRaw" +"%H:%M:%S") # lastBootFormatDay=$(date -jf "%s" "$lastBootRaw" +"%d.%m:%y") # echo "Umgewandelte Zeit ist $lastBootFormatDay $lastBootFormatMin" ########################## wann wurde der Neustart durchgeführt ########################## # Auslesen, wann der Neustart durchgeführt worden ist lastBootRaw=$(sysctl kern.boottime | awk '{print $5}' | tr -d ,) echo "Der Neustart wurde durchgeführt am $lastBootRaw" ########################## wann wurde die Datei erstellt ########################## # Auslesen, wann die Datei erstellt worden ist TimeCreate=$(date -r /Users/andreasvogel/Desktop/test +'%s') echo "Die Datei wurde erstellt am $TimeCreate" delayint=$(echo "$result" | /usr/bin/sed 's/.$//') defercal=$(($(/bin/date +%s) + delayint)) ########################## Enforce Warning ########################## EnforceWarning() { # shutdown -r +1 /Library/Application\ Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType utility -icon "$InfoIcon" -title "Warning" -description "$EnforceMessage" -button1 "OK" -defaultButton 1 -timeout 45 } ########################## Ausführung ########################## if [ $lastBootRaw -lt $TimeCreate ] then if [ $today -lt $defercal ] then # shutdown -r +2 # EnforceWarning # removeDaemon # removeScrpit # rm -rf /Library/LaunchDaemons/de.ing.EnforceRestat.plist echo "vor" else # removeDaemon # removeScrpit # rm -rf /Library/LaunchDaemons/de.ing.EnforceRestat.plist echo "nach" fi fi