18
|
Linux секция за начинаещи / Настройка на програми / Re: Не мога да възстановя MySql backup
|
-: Jul 05, 2014, 20:39
|
Файлът не е толкова голям. Това, което аз правя е следното:
Да кажем, че търсим база данни с име mydb. Отварям файла с техтови редактор (без значение какъв -nodpad++, vim, gedit, и т.н.), правя търсене на стринг за създаване на базата данни "CREATE DATABASE `mydb`, маркирам всичко преди него и ги трия, след това търся CREATE DATABASE, който е след този за mydb, маркирам всичко и трия. Така остава само базата данни за mydb. Просто бързо разчистване. Преди това си запази копие от оригиналния sql файл, за да не загубиш данни.
|
|
|
19
|
Linux секция за начинаещи / Настройка на програми / Re: Не мога да възстановя MySql backup
|
-: Jul 05, 2014, 14:05
|
Здравей,
ами то си ти казва какъв е проблема:
#1007 - Can't create database 'information_schema'; database exists
Въпросът е защо ти трябва да възстановиш тоза база данни? Вероятно твоят бекъп съдържа повече от една база данни. Коригирай файла и премахни ненужните бази данни и таблици и импорти или просто си направи експорт на конкретната база данни, която искаш да възстановиш. За Windows аз ползвам Nodepad++
|
|
|
20
|
Програмиране / Общ форум / Re: if функцията в sh скрипт
|
-: Jun 29, 2014, 12:15
|
Иначе можеш да слагаш номерация или пък друг вариант - актуалната версия си седи например eggdrop, а старите версии ги преименувай на eggdrop-20140629 примерно, като слагаш някаква дата.
|
|
|
23
|
Програмиране / Общ форум / Re: Странен проблем с shell script
|
-: Jun 17, 2014, 11:33
|
Здравей, Благодаря ти за бързия отговор и за помощта. Направих нужните промени, както ме посъветва и сега всичко работи правилно. Не очаквах, че INIT_DIR ще бъде недефинирана по начина по който го бях писал - научих нещо ново.  Предполагам, че ако се сложи export пред дефиницията на INIT_DIR, то тогава ще е видима, дори и без промяна и добавка на кавичките (разбира се това не е добра идея, но пусто любопитство  ). Благодаря още веднъж neter и успешен ден!
|
|
|
24
|
Програмиране / Общ форум / Re: Странен проблем с shell script
|
-: Jun 16, 2014, 22:48
|
Извинявам се за това и благодаря за преместването на темата в правилната категория. Имам един init script в /etc/init.d/javapps.sh който ще се стартира при старт на сървъра. Идеята вътре в него да извиквам старт скриптове на няколко liferay инсталации (томкат), чиито инит скриптове се намират в /var/www/javapps/init.d/enabled директорията. Главният инит скрипт има следния код: #!/bin/bash -e
### BEGIN INIT INFO # Provides: javapps # Required-Start: $syslog $time $remote_fs # Required-Stop: $syslog $time $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start Java Applications # Description: Debian init script for starting Java Applications ### END INIT INFO
DESC="Starting Java Applications"
# Name of the user to run as USER=javapps
# Location of applications init directory INIT_DIR=/var/www/javapps/init.d/enabled
RETVAL=0
. /lib/lsb/init-functions
if [ ! -e "$INIT_DIR" ]; then log_daemon_msg "Unable to locate init scripts directory. Please set INIT_DIR variable." exit 1 fi
start() { echo "Starting $DESC: " su -s /bin/bash -c "for INIT in $(ls $INIT_DIR); do $INIT_DIR/$INIT status; done" $USER >/dev/null }
stop() { echo "Shutting down $DESC:" su -s /bin/bash -c "for INIT in $(ls $INIT_DIR); do $INIT_DIR/$INIT stop; done" $USER >/dev/null }
status() { for INIT in $(ls $INIT_DIR); do $INIT_DIR/$INIT status; done }
case "$1" in # Start command start) start log_end_msg $? ;; # Stop command stop) stop log_end_msg $? ;; # Restart command restart) stop sleep 5 start ;; status) status ;; *) echo "Usage: /etc/init.d/$NAME {start|restart|stop|status}" exit 1 ;; esac exit 0
Това е кодът на един от инит скриптовете (всички останали са много подобни на този), който се извикват от този /etc/init.d/javapps.sh във for цикъла: #!/bin/bash -e
NAME=cbox-dev DESC="Liferay CBOX Dev Build" PIDFILE=/run/javapps/$NAME.pid
# Location of Java JDK export JAVA_HOME=/var/www/javapps/tools/java7/jdk7
# Location of application's bin directory CATALINA_HOME=/var/www/javapps/dev/liferay/centricbox/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27 CATALINA_START=bin/startup.sh CATALINA_STOP=bin/shutdown.sh PIDOF=/bin/pidof RM=/bin/rm CAT=/bin/cat
RETVAL=0
. /lib/lsb/init-functions
start() { log_daemon_msg "Starting $DESC ($NAME): " if [ ! -e "$CATALINA_HOME/$CATALINA_START" ]; then log_daemon_msg "Unable to locate starting script. Please set CATALINA_START variable." return 1 fi
if [ -f $PIDFILE ]; then PID=$($CAT $PIDFILE) RETVAL=$($PIDOF $PID) if [ $RETVAL -eq 1 ]; then log_daemon_msg "$DESC is already running..." return 1 else $RM -f $PIDFILE fi fi
$CATALINA_HOME/$CATALINA_START > /dev/null RETVAL=$? [ $RETVAL -eq 0 ] && echo $! > $PIDFILE
return $RETVAL }
stop() { log_daemon_msg "Shutting down $DESC ($NAME): " if [ ! -e "$CATALINA_HOME/$CATALINA_STOP" ]; then log_daemon_msg "Unable to locate stoping script. Please set CATALINA_STOP variable." return 1 fi
if [ ! -f $PIDFILE ]; then echo "Unable to find PID file, $DESC is not running..." return 1 else $CATALINA_HOME/$CATALINA_STOP > /dev/null RETVAL=$? [ $RETVAL -eq 0 ] && $RM $PIDFILE return $RETVAL fi }
status() { if [ ! -f $PIDFILE ]; then log_daemon_msg "Unable to find PID file, $DESC is not running..." return 1 else log_daemon_msg "$DESC is running..." return 0 fi }
case "$1" in # Start command start) start log_end_msg $? ;; # Stop command stop) stop log_end_msg $? ;; # Restart command restart) stop sleep 5 start ;; status) status ;; *) echo "Usage: /etc/init.d/$NAME {start|restart|stop|status}" exit 1 ;; esac exit 0
В главният скрипт, който е предназначен да се пуска при старт на сървъра, има FOR цикъл, но спира веднага след първата итерация, без значение колко скрипта има в директорията, където се намира.
|
|
|
25
|
Програмиране / Общ форум / Странен проблем с shell script
|
-: Jun 16, 2014, 22:25
|
Здравейте, имам много странен проблем с шел скипт и ще се радвам на вашата помощ. Идеята е следната - имам инит главен инит скрипт, който извиква допълнителни инит скриптове в един цикъл, за да пусне съответните приложения. Пример: for INIT in $(ls $INIT_DIR); do $INIT_DIR/$INIT start; done
Проблемът, който се появява е следният. В скриптовете, които се извикват в цикъла имам return и exit в зависимост от това коя част се изпълнява в процеса на извикване. При първата итерация първият скрипт се изпълнява и цикълът приключва, което не е правилно, защото в самата директория има и други скриптове - ls ги връща. Потествах малко и се оказа, че проблемът се получава от return и exit редовете в скрипта и поради някаква причина това причинява изход от цикъла. Ще се радвам ако ми дадете идеи къде евентуално бъркам. Между другото ако си ги пускам инит скриптовете на приложенията ръчно през терминала, то те си работят без проблем. Благодаря предварително!
|
|
|
29
|
Linux секция за начинаещи / Настройка на програми / Re: Как да защитя /etc/passwd , /etc/shadow
|
-: Feb 05, 2013, 19:33
|
Не знам до колко би помогнало, но какво ще стане ако сетнеш open_basedir и ползваш mod_security? open_basedir би трябвало да блокира достъпа до външни файлове и директории извън описаните в него, а mod_security трябва да помогне за по-добрата защита на системата от страната на апаче.
Другите биха могли да допълнят или дадат други идеи.
Поздрави!
|
|
|
30
|
Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: Сайт с множество ip-та?
|
-: Jan 15, 2013, 23:58
|
Здравей,
Щом знаеш как до пуснеш двата доставчика на една машина едновременно, то тогава бих казал че решението е лесно.
Нагласи апаче да слуша на *:80 и си сетни виртуалните хостове да са с *:80 вместо 192.ххх.ххх.ххх:80. Така независимо от къде идва трафика, то апаче ще го обслужи.
Сменяш си ДНС записите без проблем.
Надявам се да съм бил полезен.
|
|
|
Страници: 1 [2] 3 4 ... 27
|
|