Rclone como servicio en Systemd

2 minutos de lectura

Si utilizas rclone para montar localmente tu nube en el ordenador, como por ejemplo gdrive, y si además utilizas un distribución gnu/linux con systemd para la gestión de servicios (la mayoría de las distribuciones linux lo utilizan), puedes crearte un servicio para montar y desmontar el sistema de fichero de rclone, sin necesidad de preocuparte de tener que volver a ejecutar el comando para desmontar el sistema de ficheros remoto de forma manual.

También, a través del comando systemctl podemos montar o desmontar el sistrema de ficheros si asi lo prefieres, recordarte que no es buena idea el no desmontar correctamente los sistemas de ficheros, especialmente rclone.

Creamos el fichero

1sudo nano /etc/systemd/system/rclonemount.service

En su interior pegamos el siguiente código, pon la ruta de tu fichero de configuración de rclone,la carpeta remota de la nube que quieras montar y donde la vas a montar

fusermount se encargara de desmontarla por lo quedebes de tener instalado el paquete fuse en el sistema.

 1
 2[Unit]
 3Description=rclonemount
 4After=multi-user.target
 5
 6[Service]
 7Type=simple
 8User=carlos
 9Group=users
10ExecStart=/usr/bin/rclone mount --config "/home/carlos/.config/rclone/rclone.conf" --allow-non-empty --dir-cache-time 15m --allow-other jellyfin: /mnt/datos/gdrive/
11ExecStop=/usr/bin/fusermount -uz /mnt/datos/gdrive
12Restart=on-abort
13
14[Install]
15WantedBy=default.target

Para terminar recargamos los servicios, activamos y arrancamos el servicio rclonemount

1
2sudo systemctl daemon-reload
3
4sudo systemctl enable rclonemount.service
5
6sudo systemctl start rclonemount.service

Seguramente al recargar los servicios te aparezca un mensaje parecido a este

1
2Warning: The unit file, source configuration file or drop-ins of rclonemount.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Simplemente ejecuta

1
2sudo systemctl daemon-reload

Podemos comprobar si el servicio esta activo y funcionando con el comando sudo systemctl status rclonemount.service

 1
 2sudo systemctl status rclonemount.service
 3
 4   Loaded: loaded (/etc/systemd/system/rclonemount.service; disabled; vendor preset: enabled)
 5   Active: active (running) since Wed 2019-07-31 11:48:37 UTC; 10s ago
 6 Main PID: 27774 (rclone)
 7    Tasks: 16 (limit: 4642)
 8   Memory: 40.2M
 9   CGroup: /system.slice/rclonemount.service
10           `-27774 /usr/bin/rclone mount --config /home/carlos/.config/rclone/rclone.conf --allow-other --allow-non-empty --dir-cache-time 672h --vfs-cache-max-age 675h --vfs-read-chunk-size 64M --buffer-size 32M --uid 1000 --gid 100 jelly
11
12Jul 31 11:48:37 rockpro64 systemd[1]: Started rclonemount.

Espero que te haya gustado, pasa un buen día.