ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Linux, Freebsd, *nix (https://forum.antichat.xyz/forumdisplay.php?f=124)
-   -   Помогите отладить sh скрипт (https://forum.antichat.xyz/showthread.php?t=1810754)

vredin 29.11.2009 02:21

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
""
>
"/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
""
>
>
"/etc/apache2/sites-available/$2"
a2ensite
"$2"
/
etc
/
init
.
d
/
apache2 reload
break
else
a2dissite
"$2"
/
etc
/
init
.
d
/
apache2 reload
break
fi

какие-то непонятные ошибки на 2х серваках дебиан, первый раз програмлю на шеле - уже голова болит а понять не могу

Fallen7 29.11.2009 12:18

Ну ошибки бы привели, да знаете ли, стоило написать, что хотите создать скрипт длясоздания виртуальных сайтов.

Код:


Код:

#!/bin/bash
site_name=$1
if [ -z $1 ];
then
echo "Отсутсвует имя сайта (пример forum.exmaple.ru)"
exit 0
else
echo "
        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/
       
                Options +ExecCGI
       
        # Logfiles
        ErrorLog  /var/www/www.$site_name/logs/error.log
        CustomLog /var/www/www.$site_name/logs/access.log combined
" > /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

Думаю, я бы делал это как-то так.

vredin 29.11.2009 12:42

спасибо огромное,
ваш вариант мне больше нравится, но всё равно выдает

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

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

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

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

вопрос закрыт

Fallen7 29.11.2009 13:40

поместите скриптв в /usr/sbin и запускайте так, как вы его запускали (т.е. как обычную команду).


Время: 18:22