Bash Script au démarrage? (Linux)

Y at-il un moyen de faire / exécuter un script bash sur le redémarrage (comme dans Debian / Ubuntu par exemple, puisque c'est ce que mes 2 boîtes à la maison ont)

En outre, tous les guides recommandés pour faire des emplois cron? Je suis complètement nouveau pour eux (mais ils seront d'une grande utilité)

    Sur Ubuntu / Debian / Centos, vous pouvez configurer un travail cron pour exécuter @reboot. Cela fonctionne une fois au démarrage du système. Utilisez crontab -e pour éditer le crontab et ajoutez une ligne comme l'exemple ci-dessous par exemple

    @reboot /path/to/some/script 

    Il y a beaucoup de ressources pour cron si vous les searchz. Ce site a plusieurs bons exemples.

    Une autre façon typique de démarrer quelque chose au démarrage sur de nombreuses plates-forms * nix est (ou était, je pense que cela peut commencer à perdre la faveur – voir les alternatives ) pour placer des scripts dans un directory qui, selon le operating system / dissortingbution particulier, pourrait être quelque chose comme /etc/rc2.d , /etc/rc3.d , /etc/rc/rc3.d , ou similaire (différentes dissortingbutions utilisent différents "niveaux d'exécution", d'où vient le nombre – voir le lien au dessous de). Souvent, ils sont également liés par un lien symbolique, soit dans les files de /etc/init.d , pour une exécution plus facile à la main, et prennent un argument "start" et / ou "stop" sur la plupart des plates-forms "," restart ", etc. sur de nombreuses plates-forms Linux. Sur de tels systèmes, ceux-ci sont généralement exécutés par init , via inittab – voir les scripts d'initialisation SysV . Sur les systèmes * BSD, il existe un style différent d'un concept similaire , et, comme ci-dessus, il existe un grand nombre de variations.

    Dans le style ci-dessus, les scripts dans, par exemple, /etc/rc2.d (pour un système avec un niveau d'exécution par défaut de 2) commencent généralement par la lettre S ou K , puis par un nombre à deux numbers. Les scripts qui commencent par S sont exécutés dans l' ordre lexicographique (qui se traduit généralement en ordre numérique) lors du démarrage, dans le niveau 2, avec un argument de "start". Lors de la fermeture, les scripts préfixés par K sont exécutés de la même façon, avec un argument de "stop".

    Les files dans /etc/init.d (ou parfois /etc/rc/init.d , ou d'autres variantes) sont nommés sans les préfixes S et K, ou les nombres numériques. Typiquement, les files des différents directorys /etc/rc?.d sont liés aux files réels, souvent référencés via le préfixe de path relatif ../init.d/ .

    Divers utilitaires existent sur divers systèmes pour les gérer, ainsi que pour activer ou désactiver des objects, etc. Sur IRIX (depuis IRIX 4, au less, si ma memory sert), c'était un outil appelé chkconfig , qui ne serait pas manipuler les liens, mais qui seraient vérifiés par les scripts pour voir s'ils devaient fonctionner ou pas. Je pense qu'IRIX était le premier OS à avoir quelque chose comme ça. Plus tard, dans une version de RedHat que j'avais l'habitude d'utiliser, il y avait un outil du même nom, mais il se comportait différemment, gérant les liens symboliques – voir chkconfig(8) pour ce qui est probablement le même très similaire) version que j'ai utilisé alors.

    Sur un système Ubuntu 9.04 auquel j'ai access, on dirait que update-rc.d est le script à exécuter.

    Si vous utilisez un système qui utilise inittab, vous pouvez également y append directement des éléments – ce qui peut être particulièrement utile pour les choses que vous voulez exécuter non seulement une fois au démarrage, mais pour avoir activement surveillé (par init ) ils se brisent ou se terminent. Voir la sortie de l' man inittab (si vous l'avez) sur votre système pour plus d'informations. Et / ou man init , etc. Il y a beaucoup de différentes saveurs, et je ne suis (actuellement) pas très familier avec Debian ou Ubuntu, donc je ne sais pas exactement à quoi vous pointer, mais j'espère que cela vous en donne points de départ.

    la section @reboot de crontob est nouvelle pour moi, mais elle semble aussi être une option utile – bien que je suggère que les scripts d'initialisation soient préférables pour beaucoup de choses. Mais voir man 5 crontab pour plus d'infos sur ce que vous pouvez mettre dans votre configuration de cron, et comment on peut lui dire de faire des choses et quand (y compris, en supposant une version Vixie / ISC de cron [voir cron history ] avec @reboot ).

    J'espère que c'est utile.