[ 01011011 @ 25.03.2006. 00:06 ] @
da li neko zna neki bash skripticu koju bih postavio na server da mi svakog jutra restartuje mysql u recimo 1:00 am.

hvala
[ nkrgovic @ 25.03.2006. 12:17 ] @
Mislim da ti treba cron entry za to, ne bash skripta :). Mislim, moze skripta non stop da radi, pa da gleda vreme, pa da... Jasno. Ali, to ti je izmisljanje tople vode - tome sluzi cron.

Da ne bude da nisam dao skriptu :

Code:

#!/bin/sh

/etc/init.d/mysql stop
/etc/init.d/mysql start


Bitno je da u cron stavis nesto ovako :

Code:


0 1 * * * root /putanja/do/ove/skripte



I da naravno skriptu napravis da bude executable (chmod +x skripta).

Pretpostavio sam da imas klasican init i mysql u init.d . Prilagodi svom sistemu kako ti vec treba.


[ 01011011 @ 27.03.2006. 16:09 ] @
hvala mnogo
[ alex @ 28.03.2006. 11:19 ] @
@nkrgovic: Hmm, pa posto je i /etc/init.d/mysql skripta koja (izmedju ostalog) sluzi i za restartovanje mysql-a (hint: restart) dovoljno je u cron ubaciti:


20 1 * * * root /etc/init.d/mysql restart


Uopste nema potrebe za pisanjem nove skripte.

pozdrav,
alex.
[ nkrgovic @ 28.03.2006. 21:51 ] @
Citat:
alex: @nkrgovic: Hmm, pa posto je i /etc/init.d/mysql skripta koja (izmedju ostalog) sluzi i za restartovanje mysql-a (hint: restart) dovoljno je u cron ubaciti:


20 1 * * * root /etc/init.d/mysql restart


Uopste nema potrebe za pisanjem nove skripte.

pozdrav,
alex.


Ja zadnji put kad sam gledao (a nije bilo davno) init skripta koju MySQL isporucuje ne podrzava opciju restart. Samo stop i start. Tako da - ne moze to sto si hteo :) . Zao mi je.

Plus, ne zaboravi da covek nije rekao KOJI MySQL koristi. Tako da, sve i da najnovija podrzava - stare ne podrzavaju - a to je razumnom coveku dovoljno da to ne koristi.



[Ovu poruku je menjao Gojko Vujovic dana 29.03.2006. u 14:02 GMT+1]
[ Jbyn4e @ 29.03.2006. 08:04 ] @
A sta te sprecava da dodas restart u skriptu?
Primer: /etc/init.d/mysql
Citat:

restart|force-reload)
echo "Restarting service MySQL"
$0 stop
$0 start

rc_status
;;

Dalje, kod SuSE-a (a verovatno i drugih) postoji i rcmysql skript. A on je u stvari veza sa /etc/init.d/mysql
Citat:

# rcmysql
Usage: /usr/sbin/rcmysql {start|stop|status|reload|restart|try-restart|force-reload}
# rcmysql restart
Restarting service MySQL
Shutting down service mysql
done
Starting service MySQL
done

P.S. Da ne ispadne da je neka "velika" verzija mysql-a:
Citat:

# rpm -q mysql
mysql-4.0.18-32.1

[ nkrgovic @ 29.03.2006. 12:25 ] @
Citat:
Jbyn4e: A sta te sprecava da dodas restart u skriptu?
Primer: /etc/init.d/mysql


Nista samo po sebi. Ovo je jednostavno stvar navike - kad ti proizvodjac da nesto (recimo init skriptu) uobicajeno je da to zadrzis u izvornom obliku, a svoja prilagodjavanja radis dopisivanjem svojih skriptica. Ovime izbegavas greske u nerazumevanju (koje su ovde glupa tema, ali ajde i to da pomenem), plus ostavljas nekome ko bi dosao posle tebe sve u stanju u kome ga on ocekuje.

Ne znam da li si ikada "nasledjivao" server od nekog - ali jako je zgodno kad onaj pre tebe nije dirao nista od sistemskih stvari, vec ih je ovako obradjivao. Kad ti neko izmeni osnovne stvari mozes imati velikih problema - jer ocekujes nesto drugo. Nije pitanje mogucnosti, vec stila i ukusa, ako ti je lakse da shvatis.
[ alex @ 29.03.2006. 12:41 ] @
Citat:
nkrgovic:
Ja zadnji put kad sam gledao (a nije bilo davno) init skripta koju MySQL isporucuje ne podrzava opciju restart. Samo stop i start. Tako da - ne moze to sto si hteo . Zao mi je.


Evo bas pogledah /etc/init.d/mysql skriptu na jedinoj masini na kojoj imam mysql.. Verzija 4.0.24, fajl datira iz aprila prosle godine.. Ima restart opciju. Koristim iskljucivo Debian distribucije za servere i koliko god mogu da se "vratim u proslost", sve verzije su podrzavale restart opciju.

No, nema veze; kad vec teras mak na konac (iz velike zelje da budes u pravu ), cak iako /etc/init.d/mysql skripta ne podrzava restart opciju, i dalje stojim iza toga da uopste nije potrebno pisati novu skriptu:


20 1 * * * root /etc/init.d/mysql stop && /etc/init.d/mysql start


Pozdrav,
alex.
[ Gojko Vujovic @ 29.03.2006. 13:01 ] @
To što imaš u Debianu nije merodavno. Jeste super i najbolje rešenje, ali ako stavlja mysql iz source-a ili binarnu distribuciju sa mysql sajta (uglavnom ako ne koristi paket distribucije), pitanje je šta će dobiti.

Problem je što su postojale i neke mysqlctl skripte iz binary linux distribucije, koje rade kill -HUP na mysql procesu umesto pravog gašenja i paljenja, pa je pitanje šta korisnik stvarno želi.

Najelegantnije je alexovo poslednje rešenje, bez dodatnih skripti naravno pošto mysql control skripta svakako već postoji - samo neka pronađe gde se nalazi u njegovoj distribuciji i kako funkcioniše.

Inače moj predlog bi bio da dodatno pre toga stopiraš sve klijente i uradiš flush tabela kao i sync na disk, pre bilo kakvog restartovanja bilo čega u vezi sa mysqlom. Lako on pobrljavi, barem kad je myisam u pitanju.
[ nkrgovic @ 30.03.2006. 12:15 ] @
Citat:
alex: No, nema veze; kad vec teras mak na konac (iz velike zelje da budes u pravu ;)), cak iako /etc/init.d/mysql skripta ne podrzava restart opciju, i dalje stojim iza toga da uopste nije potrebno pisati novu skriptu:


Pogresno si me shvatio. Pogledaj moj prvi post - jasno sam pokusao reci coveku da je bitno da to stavi u cron (i ne glupira se sa skriptom koju bi cekala u nekom sleep-u), a da sam skriptu dao samo zato sto je covek poceo sa "treba mi skripta". Cak u mom prvom postu stoji
Citat:

Da ne bude da nisam dao skriptu :


Citat:
Gojko Vujovic:
Inače moj predlog bi bio da dodatno pre toga stopiraš sve klijente i uradiš flush tabela kao i sync na disk, pre bilo kakvog restartovanja bilo čega u vezi sa mysqlom. Lako on pobrljavi, barem kad je myisam u pitanju.


Ovo je iskusno :) . Slazem se potpuno sa izjavom - mada je mene za pocetak zbunio ceo zahtev zasto bi neko hteo da uopste resetuje bazu tako cesto. Moj odgovor je vise bio "kako bi to trebalo izvesti" - odgovor pitanja radi, a ne pokusaj davanja odgovora iz iskustva. Ako covek iz nekog razloga sad za ozbiljno ima potrebu da resetuje bazu tako cesto ovo je odlican predlog.