1 votes

Comment lancer la déconnexion avec cron ?

Je suis en train de créer quelque chose qui me permette de fixer des limites au temps passé par session utilisateur : J'ai créé un cron travail :

*/120 * * * 1,2,3,4,5 /path/to/command
*/180 * * * 0,6 /path/to/command

et je veux courir logout (et éventuellement arrêt car il y a un mot de passe du BIOS), quelqu'un pourrait-il me dire comment lancer ces deux programmes via le site web de l'entreprise ? cron ?.

3voto

Kieran Points 41
*/150 * * * 0,6 gnome-session-quit

Cela fonctionne bien.

1voto

swiesend Points 111

Als Pavel Selivanov fait remarquer dans ce article il est nécessaire de définir DBUS_SESSION_BUS_ADDRESS y DISPLAY pour activer les tâches liées à l'interface depuis un cronjob.

Il a écrit un Shell Shell, qui obtient la DBUS_SESSION_BUS_ADDRESS pour XFCE, Gnome, Unity, Cinnamon et KDE. Je peux confirmer qu'il fonctionne sous ubuntu:16.04 .

$ sudo nano /usr/local/bin/gui-cron

#!/bin/sh
[ "$#" -lt 1 ] && echo "Usage: $0 program options" && exit 1

program="$1"
shift

user=$(whoami)
env_reference_process=$( pgrep -u "$user" xfce4-session || pgrep -u "$user" cinnamon-session || pgrep -u "$user" gnome-session || pgrep -u "$user" gnome-shell || pgrep -u "$user" kdeinit )

export DBUS_SESSION_BUS_ADDRESS=$(cat /proc/"$env_reference_process"/environ | grep -z ^DBUS_SESSION_BUS_ADDRESS= | sed 's/DBUS_SESSION_BUS_ADDRESS=//')
export DISPLAY=$(cat /proc/"$env_reference_process"/environ | grep -z ^DISPLAY= | sed 's/DISPLAY=//')
"$program" "$@"

On peut alors créer un cronjob utilisateur qui s'exécute selon un horaire donné avec la syntaxe crontab. Ici, par exemple, toutes les 15 minutes entre 22:00 et 05:59 :

$ crontab -e

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
*/15 22-23,00-05 * * * gui-cron gnome-session-quit --power-off

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X