1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Comprendre les limites des scripts SSH
Ce guide apporte des précisions importantes concernant le lancement et l'exécution de scripts en ligne de commande (SSH) sur différents types d'hébergements Infomaniak.
Exécution de scripts via SSH et gestion des ressources
Contrairement aux scripts exécutés via un navigateur web, il n'y a généralement pas de limite de temps (timeout) stricte pour les commandes lancées en SSH. Votre script peut donc théoriquement tourner aussi longtemps que nécessaire.
Temps d'exécution et persistance
Si votre session SSH se ferme (perte de connexion internet ou fermeture du terminal), le script en cours sera immédiatement interrompu.
Pour éviter cela lors de tâches longues, il est recommandé d'exécuter vos scripts en arrière-plan ou dans le cas d'un VPS d'utiliser des outils de multiplexage de terminal (comme screen, tmux ou l'utilitaire nohup). Cela permet au processus de continuer son travail même après votre déconnexion.
Limites de ressources (RAM et CPU)
Si le temps n'est pas limité, les ressources matérielles le sont.
L'exécution de vos scripts reste soumise aux capacités de la machine et à sa configuration :
- Mémoire (RAM) : si un processus consomme plus de mémoire que la limite autorisée (par exemple, la limite
memory_limitde PHP ou la RAM physique disponible), il sera tué par le système pour préserver la stabilité du serveur. - Processeur (CPU) : un usage abusif du processeur sur une longue durée peut entraîner un bridage ou une interruption du processus.
Il est envisageable d'ajuster ces limites de ressources sur les environnements dédiés (type Serveur Cloud). En revanche, sur les hébergements mutualisés, ces limites sont fixes et non modifiables afin de garantir la performance pour l'ensemble des utilisateurs hébergés sur le même serveur.