Rclone como servicio en Systemd
2019-08-12
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
sudo 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.
[Unit]
Description=rclonemount
After=multi-user.target
[Service]
Type=simple
User=carlos
Group=users
ExecStart=/usr/bin/rclone mount --config "/home/carlos/.config/rclone/rclone.conf" --allow-non-empty --dir-cache-time 15m --allow-other jellyfin: /mnt/datos/gdrive/
ExecStop=/usr/bin/fusermount -uz /mnt/datos/gdrive
Restart=on-abort
[Install]
WantedBy=default.target
Para terminar recargamos los servicios, activamos y arrancamos el servicio rclonemount
sudo systemctl daemon-reload
sudo systemctl enable rclonemount.service
sudo systemctl start rclonemount.service
Seguramente al recargar los servicios te aparezca un mensaje parecido a este
Warning: The unit file, source configuration file or drop-ins of rclonemount.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Simplemente ejecuta
sudo systemctl daemon-reload
Podemos comprobar si el servicio esta activo y funcionando con el comando sudo systemctl status rclonemount.service
sudo systemctl status rclonemount.service
Loaded: loaded (/etc/systemd/system/rclonemount.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2019-07-31 11:48:37 UTC; 10s ago
Main PID: 27774 (rclone)
Tasks: 16 (limit: 4642)
Memory: 40.2M
CGroup: /system.slice/rclonemount.service
`-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
Jul 31 11:48:37 rockpro64 systemd[1]: Started rclonemount.
Espero que te haya gustado, pasa un buen día. 🐧