Utilizo un script para hacer copias de seguridad incrementales de una partición btrfs de un disco a otro.
El script lo inicia cron.weekly a una hora aleatoria de un día.
Si apago el sistema mientras se ejecuta el script, me estoy metiendo en problemas con las copias de seguridad antiguas eliminadas y las nuevas no creadas.
¿Hay alguna manera de configurar el sistema para que espere hasta que finalice el script?
Estoy usando Ubuntu 16.04 con systemd.

sudousuario. Voy a vincular una respuesta anterior para GUI. Avíseme si desea personalizarlo para satisfacer sus necesidadessystemd-inhibitun poco más fácil a la vista? >: - DRespuestas:
Para Ubuntu 16.04+ con systemd (el valor predeterminado).
===
Prueba:
===
Hay 7 cerraduras :
sleepinhibe la suspensión del sistema y la hibernación solicitada por usuarios (no privilegiados)shutdowninhibe el apagado del sistema de alto nivel y el reinicio solicitado por los usuarios (sin privilegios)idleinhibe que el sistema entre en modo inactivo, posiblemente resultando en la suspensión o apagado automático del sistema según la configuraciónhandle-power-keyinhibe el manejo de bajo nivel (es decir, logind-internal) de la llave de hardware del sistema, permitiendo que el código externo (posiblemente sin privilegios) maneje el evento en su lugar.handle-suspend-keyinhibe el manejo de bajo nivel de la clave de suspensión del hardware del sistema.handle-hibernate-keyinhibe el manejo de bajo nivel de la clave de hibernación del hardware del sistema.handle-lid-switchinhibe el manejo de bajo nivel del interruptor de la tapa del hardware del sistema.Probablemente también quieras prevenir
suspend,idleyhibernate.Ejemplo usando "administrador de paquetes" :
De manera similar, puede codificar su versión y agregar un "apagado" al final de este script (o agregar una forma de determinar que un apagado debe ser la siguiente acción).
fuente
En BackInTime estoy usando un par de métodos DBus diferentes para trabajar en todos los DE principales. El único inconveniente es que esto no funcionará
rootporquerootno tienedbus.SessionBus.fuente