Voici mon rc.local pour une instance EC2 amazone autoscaling basé sur ubuntu: (Notez que les noms d'utilisateur, des domaines et des chemins ont été modifiés pour des raisons de sécurité)Subversion commandes ne sont pas géré par Ubuntu rc.local
logger "Begin rc.local startup script:"
logger "svn checkout"
sudo -u nonRootUser /usr/bin/svn co svn+ssh://[email protected]/path/to/repo /var/www/html | logger
logger "chown writeable folder"
chown www-data /var/www/html/writeableFolder
logger "restart apache"
/etc/init.d/apache2 restart | logger
exit 0
Et voici la sortie de la queue de 40 -n sudo/var/log/syslog
Mar 10 22:05:20 ubuntu logger: Begin rc.local startup script:
Mar 10 22:05:20 ubuntu logger: svn checkout
Mar 10 22:05:20 ubuntu logger: chown writeable folder
Bien sûr ce ne est pas obtenir de redémarrer apache2 car il error'd sur le chown. J'ai cependant trouvé que si je fais une extraction au préalable, et que je place la commande svc.rc.local dans une mise à jour svn, elle n'exécute toujours pas la commande svn mais la sortie apache2 redémarre avec succès.
Ces mêmes commandes svn fonctionnent parfaitement quand je les exécute manuellement, mais il est étrange que dans rc.local elles ne produisent aucune sortie pour logger mais apache2 restart le fait.
J'ai aussi essayé d'exécuter svn co et svn update avec sudo -u et sans.
Comment exécuter la commande svn? Soit un paiement complet ou une mise à jour. À ce moment-là, ce serait mieux que rien!
Ça l'a fait! Merci d'arrêter ma perte de cheveux! :) – talentedmrjones
Note: Je pense que la raison pour laquelle sudo ne fonctionne pas est qu'il a besoin d'un mot de passe (il n'y a pas de TTY à afficher). – sandstrom