Помогите отладить sh скрипт

Статус
В этой теме нельзя размещать новые ответы.

vredin

Постоялец
Заблокирован
Регистрация
17 Дек 2007
Сообщения
139
Реакции
35
  • Автор темы
  • Заблокирован
  • #1
PHP:
#!/bin/bash -x
#path_to_folder=  #path to folder with files
#path_to_apache=  #path to apache config folder
#clear

if [[ $# -ne 2 ]]
then
echo "out pri proverke parametrov"
exit 1
fi

if [[ "$1" -eq 'add' ]]
then
    mkdir /var/www/$2
    echo "sozdali papku"
    echo "<VirtualHost *>" > "/etc/apache2/sites-available/$2"
    echo "RLimitMEM   16000000 20000000" >> "/etc/apache2/sites-available/$2"
    echo "RLimitCPU   10 30" >> "/etc/apache2/sites-available/$2"
    echo "ServerAdmin androngates@gmail.com" >> "/etc/apache2/sites-available/$2"
    echo "DocumentRoot /var/www/$2/" >> "/etc/apache2/sites-available/$2"
    echo "ServerName $2" >> "/etc/apache2/sites-available/$2"
    echo "ServerAlias www.$2" >> "/etc/apache2/sites-available/$2"
    echo "ErrorLog /var/www/$2.log" >> "/etc/apache2/sites-available/$2"
    echo "LogLevel warn" >> "/etc/apache2/sites-available/$2"
    echo "</VirtualHost>" >> "/etc/apache2/sites-available/$2"
    a2ensite "$2"
    /etc/init.d/apache2 reload
    break
else
    a2dissite "$2"
    /etc/init.d/apache2 reload
    break
fi

какие-то непонятные ошибки на 2х серваках дебиан, первый раз програмлю на шеле - уже голова болит а понять не могу :(
 
  • Заблокирован
  • #2
Ну ошибки бы привели, да знаете ли, стоило написать, что хотите создать скрипт длясоздания виртуальных сайтов.
Код:
#!/bin/bash
site_name=$1
if [ -z $1 ];
then
echo "Отсутсвует имя сайта (пример forum.exmaple.ru)"
exit 0
else
echo "<VirtualHost *:80>
        ServerAdmin example@examile.org
        ServerName  www.$site_name
        ServerAlias $site_name
        # Indexes + Directory Root.
        DirectoryIndex index.php index.html
        DocumentRoot /var/www/www.$site_name/htdocs/
        # CGI Directory
        ScriptAlias /cgi-bin/ /var/www/$site_name/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>
        # Logfiles
        ErrorLog  /var/www/www.$site_name/logs/error.log
        CustomLog /var/www/www.$site_name/logs/access.log combined
</VirtualHost>" > /etc/apache2/sites-available/www.$site_name
mkdir /var/www/www.$site_name
mkdir /var/www/www.$site_name/cgi-bin
mkdir /var/www/www.$site_name/htdocs
mkdir /var/www/www.$site_name/logs
touch /var/www/www.$site_name/logs/error.log
touch /var/www/www.$site_name/logs/access.log
chown www-data.www-data /var/www/www.$site_name -R
chmod 775 /var/www/www.$site_name/htdocs
a2ensite www.$site_name
/etc/init.d/apache2 reload
fi
exit 0
Думаю, я бы делал это как-то так.
 
  • Автор темы
  • Заблокирован
  • #3
спасибо огромное,
ваш вариант мне больше нравится, но всё равно выдает

new:/# site.bash qwerty.ru
-bash: site.bash: command not found
new:/#

текст скрипта я вставил через редактор mc в файл site.bash, сохранил и изменил ему права на 777

Добавлено через 17 минут
как я запарился!

надо запускать скрипт через ./
или полный путь

вопрос закрыт
 
  • Заблокирован
  • #4
поместите скриптв в /usr/sbin и запускайте так, как вы его запускали (т.е. как обычную команду).
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху