January 2009 Archives

Простой бэкап MySQL

Есть море способов бэкапить Базы MySQL. Один из них предложил человек с ником  antmix, за что ему огромное спасибо. И так, нам потребуется 2 скрипта. Один для непосредственно самого бэкапа, второй для вызова первого из Cron.

1) dump-cron.sh
#!/bin/sh
cd ~/dump/
./dump.sh 1> dump.log 2>&1
cat dump.log | mail -s "daily mysql dump $DDATE" root@localhost
Скрипт отсылает сообщение об успешном дампе и запускает второй скрипт который и делает сам дамп:
2) dump.sh
#!/bin/sh
export DDATE=`date --date "1 day ago" +%d-%m-%Y`
mysqldump -u root -ppass base1 > dump_base1-$DDATE.sql
mysqldump -u root -ppass  base2 > dump_base2-$DDATE.sql
tar vjcf ./full-dump-$DDATE.tar.bz2 ./dump*$DDATE*.sql
rm ./dump*$DDATE*.sql
Скрипт делает дам баз и архивирует их в архив. Теперь ставим на эти скрипты права на исполнение
chmod +x
и добавляем dump-cron.sh в cron.

У мухоморья

У Мухоморья дуб прогнивший.
К нему привязан дохлый кот,
Вокруг духан стоит прокисший,
Избушка задом наперёд.
Там на тропинках кучи кала,
Остатки рыбьего хвоста,
И леший вам набъёт ебало,
Хоть он и пьяный спит в кустах.
Тут автор, почесав кудряшки,
Перо забросил, крикнув: "Бля!
Где няня? Дайте мне рюмашку.
Мне с бодуна писать нельзя!"
Потом он долго похмелялся.
И, только кончилось бухло,
Он сжёг всё то, над чем старался,
И снова взялся за перо.

Генератор паролей

Один из самых простых генераторов паролей:
head -c 6 > /dev/urandom | uuencode -m 1 | tail -2 | head -1
(с) http://ebash.in

Запуск PHP в режиме Fast-CGI

Делается сие в консоли с root-правами.
/bin/su user -c "PHP_FCGI_CHILDREN=2 PHP_FCGI_MAX_REQUESTS=2048 /usr/bin/php-cgi
 -b /home/user/.phpsock" &
Создасться сокет в /home/user и можно будет к нему что нибудь подключить. К примеру lighttpd.

Если сломался MySQL

Бывают ситуации когда MySQL бунтует, к примеру однажды попытался снести MySQL ручками а не спец. утилитами. В результате он отказался устанавливатся повторно. Бррр.... Рещение подсказал один очень хороший человек. И так: открываем консоль с root-привилегиями и шаманим:

mkdir -p /etc/mysql/conf.d/
touch /etc/mysql/conf.d/old_passwords.cnf
cat > /etc/init.d/mysql
#!/bin/bash exit 0
Жмем ctrl+d и далее
chmod +x /etc/init.d/mysql
aptitude purge mysql-server
Ну вот и все, можно теперь его переустановить...