Я сделал установочный скрипт моей архитектуры, который запускается при загрузке, и добавил его в chkconfig:
#!/bin/bash
#
# chkconfig: 2345 99 30
# description: Product Installer Service
#
if [ -f /home/installer.sh ]; then
sleep 60
bash /home/installer.sh > /root/.productlog 2>/root/.productlog
rm -f /home/installer.sh
fi
Когда я запускаю installer.sh
вручную, он работает отлично, но при загрузке выдает много ошибок:
cp: cannot stat 'default/etc/named.conf': No such file or directory
.
cp: cannot stat 'default/var/www/html/index.php': No such file or directory
.
chown: invalid user: 'apache:apache'
cp: cannot stat '/var/lib/mysql': No such file or directory
chown: invalid user: 'mysql:mysql'
/home/installer.sh: line 787: mysql: command not found
.
.
Есть ли способ это исправить? Могу ли я использовать @reboot
задание cron для его запуска после завершения загрузки?
Я думаю, что один из ваших сценариев запускается до того, как файловая система готова к использованию. Вы используете полные пути в этих сценариях или родственники? Относительно плохая идея в этом случае.
—
mnmnc
я использую полные пути, как запустить его после того, как файловая система готова?
—
Ахмед Зельфани
Я бы порекомендовал разместить его в файле rc.local. centos.org/docs/5/html/Installation_Guide-en-US/…
—
mnmnc
Кроме того, почему вы тестируете простой файл (
—
Тоби Спейт
test -f
) вместо test -x
?
Я проверяю, существует ли установочный скрипт, потому что в конце процесса установки я его извлекаю
—
Ахмед Зелфани,
rm -f /home/installer.sh