112 lines
3.4 KiB
Bash
112 lines
3.4 KiB
Bash
#!/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 |