Fonctionnement sur Synology
L'intérêt de faire fonctionner le script sur le NAS est que celui-ci est allumé 24/24.
Cela vous permet donc de télécharger un ensemble de fichiers sans avoir à laisser votre PC allumé. Ca économise à la fois votre PC et de l'électricité !..
L'autre intérêt est que les fichiers résultat se trouvent déjà sur le NAS, pas besoin de les y transférer.
S'il s'agit d'une suite de .rar, vous pouvez directement les assembler sur le NAS.
Préparation
Pour que notre script fonctionne, il vous faut 2 paquets supplémentaires : les utilitaires GNU (coreutils) et le programme curl (libcurl).
Si vous ne l'avez pas déjà fait, il faut donc installer ipkg.
Voir la page de la documentation Synology à ce propos.
Une fois ipkg installé selon la documentation ci-dessus et en fonction du type de processeur de votre NAS, vous devez installer les deux paquets supplémentaires.
Connectez-vous à votre NAS en root et faites:
ipkg install coreutils libcurl
Contournement d'un bug Synology
Depuis les récentes versions du système, ash ne parvient pas à détacher les commandes, même avec nohup et &
La conséquence est que si vous lancez le script (celui-ci ou un autre) puis qu'ensuite vous éteignez votre PC, le NAS va détecter que la session SSH a été fermée et va arrêter le script à la fin de la commande en cours.
Si votre téléchargement ne comporte qu'un seul fichier, ça ne pose pas de problème, mais si c'est une liste de fichiers... eh bien vous n'aurez en fait que le premier et pas les autres.
Si vous êtes souvent dans ce cas, la solution la plus simple (et offrant d'autres avantages) est d'utiliser
screen.
Connectez-vous à votre NAS en root et faites:
ipkg install screen
Utilisation avec screen
Connectez-vous en SSH à votre NAS.
lancez screen.
screen
Lancez ensuite votre dlfree avec les options qui vous conviennent.
Une fois qu'il tourne, on
détache screen avec la séquence de touches
Ctrl-A suivi de
D
Vous aurez un message que screen a été détaché.
Maintenant vous pouvez quitter votre SSH:
exit
... puis éteindre votre PC et aller vaquer à d'autres occupations, le NAS va s'occuper de tout !..
Lorsque vous revenez sur le NAS, vous pouvez récupérer votre session screen détachée ainsi :
screen -r
Vous verrez alors où il en est, si tout s'est bien terminé, ou dans le cas contraire un message d'erreur produit par le script.
Bonus avec screen
screen vous permet d'avoir plusieurs terminaux sans avoir à lancer autant de sessions SSH. Je vous laisse regarder l'ensemble des raccourcis pour cela.
Pour dlfree, cela nous permet par exemple de lancer celui-ci en parallèle (ça fonctionne aussi sur NAS !) de façon à faire plusieurs téléchargements en même temps si vous avez demandé à télécharger une liste de fichiers.
Pour cela, la manipulation de base consiste à ouvrir un autre terminal sous screen par la séquence :
Ctrl-A suivi de
C
Dans ce nouveau terminal, vous pouvez lancer la même commande que dans le premier terminal, auquel cas dlfree vous mettra un message sur les fichiers déjà en cours de téléchargement, et commencera à charger le suivant dans la liste.
Vous basculez d'une fenêtre de screen à l'autre avec
Ctrl-A suivi du numéro de la fenêtre (
0 à
9).