Exécuter des commandes au démarrage de Pfsense

Il existe trois options principales pour l’exécution de commandes personnalisées au démarrage: shellcmd, earlyshellcmd et script shell.

Le package shellcmd peut gérer les balises shellcmd et earlyshellcmd dans l’interface graphique, de sorte que les valeurs config.xml ne doivent pas être modifiées manuellement.

Au démarrage, les commandes earlyshellcmd sont d’abord exécutées, shellcmd est exécuté plus tard dans le processus de démarrage, et les scripts shell sont exécutés à la toute fin lorsque les paquets sont initialisés.

Option shellcmd

L’ option cachée config.xml <shellcmd> exécutera la commande spécifiée vers la fin du processus de démarrage.

Pour ajouter un shellcmd à une configuration, utilisez le package shellcmd ou modifiez la configuration à la main. Pour modifier la configuration, sauvegardez-la via Diagnostics> Sauvegarde / restauration et ouvrez le fichier XML résultant dans un éditeur de texte (autre que le bloc-notes de Windows). Au-dessus de la ligne </ system> , ajoutez une ligne comme celle-ci:

<shellcmd>mycommand -a -b -c 123 </shellcmd>

Où “mycommand -a -b -c 123” est la commande à exécuter. Plusieurs lignes <shellcmd> peuvent être ajoutées pour exécuter plusieurs commandes.

Enregistrez les modifications et restaurez la configuration modifiée.

Option earlyshellcmd

L’ option cachée config.xml <earlyshellcmd> exécutera la commande spécifiée au début du processus de démarrage. Normalement, <shellcmd> devrait être utilisé à la place, bien que cela puisse être nécessaire dans certaines circonstances. De même que pour <shellcmd>, pour ajouter une option <earlyshellcmd> , utilisez le paquet shellcmd ou modifiez-le à la main. Pour le modifier manuellement, sauvegardez la configuration, ouvrez-la dans un éditeur de texte et ajoutez une ligne comme ci-dessus </ system> :

<earlyshellcmd>mycommand -a -b -c 123 </earlyshellcmd>

Où “mycommand -a -b -c 123” est la commande à exécuter. Plusieurs lignes <earlyshellcmd> peuvent être ajoutées pour exécuter plusieurs commandes.

Enregistrez les modifications et restaurez la configuration modifiée.

Option de script Shell

Tout script shell peut être placé dans le répertoire /usr/local/etc/rc.d/ .

Le nom de fichier doit se terminer par .sh et doit être marqué comme exécutable ( chmod + x myscript.sh ). Chaque script shell se terminant par .sh dans ce répertoire sera exécuté au démarrage.

Les deux premières options sont préférables car elles sont conservées dans le fichier de configuration et ne nécessitent donc pas de modifications supplémentaires si le support de stockage est remplacé et réinstallé ou si la configuration est restaurée sur un autre matériel.

Sources

Laisser un commentaire