Будем рассматривать систему с systemd, которая, скорее всего, у вас и есть.
Такие системы выключаются через target suspend.
Соответственно, можно почитать
Код:
man systemd-suspend.service
а там в данный момент написано, что перед и после засыпания все исполняемое из
Код:
/usr/lib/systemd/system-sleep/
запускается с параметрами pre и post перед и после просыпания (suspend) соответственно и можно выполнять скрипт типа
Код:
#!/bin/bash
if [ "${1}" == "pre" ]; then
# Что делаем перед сном
echo "we are suspending at $(date)..." > /tmp/systemd_suspend_test
elif [ "${1}" == "post" ]; then
# Что делаем после сна
echo "...and we are back from $(date)" >> /tmp/systemd_suspend_test
fi
Обратите внимание, что это все будет происходить уже без сети.