Bonjour tout le monde !
Tout d'abord, premier message de ma part sur ce forum !
(bravo bravo, merci, oh non ça me touche, oh vraiment ? Bon d'accord)
Je pose les bases tout de suite : je suis newbie et n'y connait pas grand chose, je me contentais principalement de suivre des tutos.
Aussi, sur ma seedbox, je n'ai pas d'accès root.
Je possède une seedbox chez un hébergeur qui laisse la possibilité d'installer pas mal de trucs en plus.
J'ai donc installé plusieurs instances de rtorrent et rutorrent, et chaque dossier de téléchargement d'une instance est accessible via SFTP avec proftpd.
Je peux donc donner un accès SFTP à un ami (qui est jail dans son dossier rtorrent-ami/data), et lui donner accès à sa propre petit interface de téléchargement rutorrent dans laquelle il n'y a que ses torrents à lui.
C'est super, ça marche, tout le monde est content, youpi youpi.
Mon interface rtorrent-rutorrent à moi, la MAIN, n'a pas été installée comme ça, elle a été "commandée" auprès du site du fournisseur.
Elle est automatiquement re-démarrée en cas de pépin.
Mes multi-instances ne sont pas automatiquement re-démarrées (seulement en cas de reboot je crois).
Or, il arrive après quelques jours qu'elles plantent.
J'aimerai donc faire une tache Cron pour checker que ces instances tournent bien, et si ce n'est pas le cas que Cron les relance.
Je me suis inspiré de la tache Cron qui était qui était présentée dans le wiki de la seedbox à propos de Cron et ça donne ceci dans cronscript.sh :
[[ $(pgrep -fu $(whoami) 'rtorrent-ami') ]] || screen -fa -dmS rtorrent-ami rtorrent -n -o import=~/.rtorrent-ami.rc
Mais ça ne marche pas.
Pourtant, quand je rentre manuellement la partie "check" : (pgrep -fu $(whoami) 'rtorrent-ami')
Le terminal me renvoi bien le PID de rtorrent-ami si celui-ci tourne, et ne me renvoi rien si rtorrent-ami ne tourne pas.
La seconde partie (screen -fa -dmS rtorrent-ami rtorrent -n -o import=/.rtorrent-ami.rc) fonctionne bien quand lancée manuellement. C'est cette commande qui me permet de redémarrer rtorrent-ami quand celui-ci a crashé.
On m'a également conseillé de faire plutôt un script if/else. J'en ai bricolé un :
#!/bin/bash
if [[ $(pgrep -fu $(whoami) 'rtorrent-ami') -ge 1 ]]
then
:
else
(screen -fa -dmS rtorrent-ami rtorrent -n -o import=~/.rtorrent-ami.rc)
fi
Et ça ne marche toujours pas...
Je regarde dans les logs de Cron et il ne dit rien...
J'avoue ne pas trop savoir quoi faire, je ne comprend pas ce qui coince...
Je me disais que je pourrais aussi donner un PID fixe à rtorrent-ami, et ensuite demander à checker si ce PID est actif, et s'il ne l'est pas lancer la commande de start de rtorrent-ami.
J'ai vu que le proftpd que j'ai installé fonctionne comme ça, c'est pas bête.
Cher tous, j'ai besoin de vos conseils éclairés !