Ejecutar Transmission tras "montar disco duro"

¿Algo falla o no sabes como funciona? Pide ayuda aquí!
Responder
Avatar de Usuario
lopz_
Pi Master
Pi Master
Mensajes: 201
Registrado: 27 Jun 2017, 13:51
Agradecido: 0
Agradecimiento recibido: 0

Buenas.

Hace tiempo solucioné este problema pero desconozco donde ví la información y tras buscar me estoy volviendo loco.

Tengo el siguiente problema

Raspbian:

Instalo transmission daemon.
Modifico fstab para que monte el disco duro en /media/4TB (lo hace correctamente)
modifico el usuario que lanza transmission a pi tanto en "/lib/systemd/system/transmission-daemon.service" como en /etc/init.d/transmission-daemon, cambio los permisos en la ruta "/var/lib/transmission-daemon/info"

Vamos en principio tooodo funciona correctamente.

Pero me pasa lo siguiente, si reinicio la Raspberry, se lanza el servicio antes de haberse montado el disco duro... por lo que me toca parar y levantar de nuevo el servicio.

¿alguien sabe como hacer que se espere el servicio al disco duro?

en su día encontré una opción similar para esperar a la red (que no continuaban lo servicios etc) y para el hdd algo similar, pero no encuentro donde lo vi.

NOTA, si alguien sabe tambien como hacerlo para la red estaría genial (pues una de las cosas que me gustaría es que transmission me descargara en un disco duro compartido que tengo un "PseudoNas" que no tiene opciones de agregarle nada, solo comparte en red el disco.

Saludos.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Depende de cómo lo arranques, si lo haces a través de systemd puedes especificarle precisamente esto.
Si tú para arrancarlo usas un comando como "sudo systemctl start transmission-daemon", significa que estás usando systemd.
Y por tanto, tienes un script para gestionar este servicio, seguramente en:

Código: Seleccionar todo

/lib/system/systemd/transmission-daemon.service
Dentro de este script puedes usar el parámetro"RequiresMountsFor", dentro de la sección [Units]
Por ejemplo, si el punto de montaje de tu disco duro es /mnt/data/torrents, puedes añadir esta línea en el script:

Código: Seleccionar todo

RequiresMountsFor=/mnt/data/torrents
Avatar de Usuario
lopz_
Pi Master
Pi Master
Mensajes: 201
Registrado: 27 Jun 2017, 13:51
Agradecido: 0
Agradecimiento recibido: 0

egrueda escribió:Depende de cómo lo arranques, si lo haces a través de systemd puedes especificarle precisamente esto.
Si tú para arrancarlo usas un comando como "sudo systemctl start transmission-daemon", significa que estás usando systemd.
Y por tanto, tienes un script para gestionar este servicio, seguramente en:

Código: Seleccionar todo

/lib/system/systemd/transmission-daemon.service
Dentro de este script puedes usar el parámetro"RequiresMountsFor", dentro de la sección [Units]
Por ejemplo, si el punto de montaje de tu disco duro es /mnt/data/torrents, puedes añadir esta línea en el script:

Código: Seleccionar todo

RequiresMountsFor=/mnt/data/torrents

Buenas, que no había leído la respuesta.

Edité el archivo que me comentaste en /lib/systemd/system/transmission-daemon.service

¿Sería dejarlo así?

Código: Seleccionar todo

[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
RequiresMountsFor=/media/3TB/Descargas/Torrent/Completo

[Service]
#User=debian-transmission
User=pi
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecStop=/bin/kill -s STOP $MAINPID
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target
No estoy ahora frente a la raspi que comenté por eso pregunto. una duda mas... que veo que en este sentido lo conoces bien el tema de los servicios...

¿esto también valdría para una carpeta de red que se monte por SaMBa?

Saludos y gracias otra vez.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

lopz_ escribió:¿esto también valdría para una carpeta de red que se monte por SaMBa?
Eso hace que se requiera un montaje, da igual si el sistema de ficheros que montas es de un usb externo o de una carpeta compartida, ambos son montajes a efectos prácticos
Responder