Power Off. Bash Linux
Рассмотрим тот случай, когда необходимо выключить компьютер ровно в 20 часов, при этом не входить в конфликт с оператором рабочего места , os Linux
Это очень удобно при эксплуатации компьютера детьми , которым нужно ложиться спать своевременно и не засиживаться за компьютером
Создаем файл , с именем power_off.sh
----
#!/bin/bash
# id -u узнаем пользователя
if [[ $EUID -gt 1000 ]]; then
echo "Hello my friend, is time to sleep! Thank you for your attention!"
/usr/sbin/shutdown -h 1 &>/dev/null
exit 1
fi
В скрипте применяется конструкция $EUID -gt 1000 , определяющая «id пользователя» > 1000, у пользователя root — id =0 , у следующего id=1000 (в рассматриваемом случае у того пользователя , у которому скрипт разрешает работаь ) , а у всех кто 1001, 1002 и т.д. это друге пользователи системы, которым мы и ограничиваем время работы компьютера.
если необходимо произвести ограничение работы конкретному пользователю , то нужно применять конструкцию «$EUID -eq user_id», что означает если «$EUID равно номеру_юзер_id»
важно отметить , что для корректной работы скрипта необходимо указывать полный путь к исполняемой команде «/usr/sbin/shutdown»
Обязательно делаем файл исполняемым командой chmod +x power_off.sh
затем устанавливаем расписание , по которому этот файл будет запускаться
crontab -u user : устанавливаем crontab для нужного пользователя, или для root пользователя
* 20 * * * /полный/ путь к скрипту/power_off.sh : установка времени, 20 часов вечера ежедневно
После выполнения всех выше перечисленных пунктов, компьютер будет сам выключаться, если в системе будет работать пользователь отличный от id = 2000.
После настроек компьютер будет выключаться в течении часа каждую минуту, даже если пользователь включит его повторно , таким образом легко решается вопрос с контролем времени проведенным за компьютером!
Если статья была полезной — дайте на нее ссылку на своем сайте !
Спасибо!
Поддержите автора : пройдите по ссылке SurgStore.ru