timeup () { uptime | awk '{print $3}'; }
результат будет примерно таким: " 45: 45, ". Есть 2 проблемы с этим:
- возвращаемое значение будет строкой, а не целым числом, поэтому если строка отправит сообщение об ошибке
- "," знак на и из строки
Это лучше (но не так приятно :)): timeup () { uptime | awk '{print $3}' | awk -F\: '{print $1}';}
Вторая команда awk делит часы и минуты и печатает только часы.
Я предпочитаю сценарий sendEmail вместо команды mail: http://manpages.ubuntu.com/manpages/xenial/man1/sendEmail.1.html
Я бы поставил имя хоста в теме: "Server Needs To Be Rebooted: $(hostname -f)"
hostname -f
команда print FQDN
Вы можете объединить uptime ... и mail командные строки и удалить rm команда:
uptime | awk '{print $3,$4}' | sed 's/,//' | mail -s "Server Needs To Be Rebooted" "your@emailaddress.com"