Skocz do zawartości
  • Dołącz do społeczności!

    👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Skrypt backup.


Rekomendowane odpowiedzi

Opublikowano

Witam.

Pisząc z Matiaskiem zauważyłem, że na forum jest mały wybór skryptów na backup. Troszkę posiedziałem i go napisałem.

 

#!/bin/sh/
#QBA_96
. config.cfg
case "$1" in
"-mk-backup")
echo "Tworzenie katalogu tymczasowego."
mkdir $sciezka_backup/tmp
if test -f $sciezka_backup/player.sql
then
rm $sciezka_backup/player.sql
rm $sciezka_backup/account.sql
rm $sciezka_backup/common.sql
fi
#echo "Wylaczanie mysql."
#/usr/local/etc/rc.d/mysql-server stop
#sleep 1
echo "Tworze backup bazy player..."
/usr/local/bin/mysqldump -u $user_mysql -p$haslo_mysql player -e > $sciezka_backup/tmp/player.sql
sleep 2
echo "Tworze backup bazy account..."
/usr/local/bin/mysqldump -u $user_mysql -p$haslo_mysql account -e > $sciezka_backup/tmp/account.sql
sleep 2
echo "Tworze backup bazy common..."
/usr/local/bin/mysqldump -u $user_mysql -p$haslo_mysql common -e > $sciezka_backup/tmp/common.sql
sleep 2
echo "Kasacja logów z MySQL'a."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql log -e "TRUNCATE TABLE log;"
#echo "Backup bazy danej MySQL został ukończony.
#/usr/local/etc/rc.d/mysql-server start
#echo "Zostało włączone MySQL."
cp -r $sciezka_backup/tmp/ $sciezka_backup/
echo "Kasacja tymczasowego katalogu."
rm -rf $sciezka_backup/tmp/
exit
;;

"-bk-backup")
#echo "Wyłączam MySQL'a."
#/usr/local/etc/rc.d/mysql-server stop
echo "Wypakowuję bazę player..."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql player < $sciezka_backup/player.sql
sleep 2
echo "Wypakowuję bazę account..."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql account < $sciezka_backup/account.sql
sleep 2
echo "Wypakowuję bazę common..."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql common < $sciezka_backup/common.sql
echo "Kasacja logów z MySQL'a."
sleep 2
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql log -e "TRUNCATE TABLE log;"
#echo "Backup bazy danej MySQL został ukończony."
#/usr/local/etc/rc.d/mysql-server start
#echo "Zostało włączone MySQL."
exit

;;
"-mk-locale")
echo "Tworzę tymczasowy katalog locale."
mkdir $sciezka_backup_locale/tmp
if test -f $sciezka_backup_locale/locale.tar.gz
then
rm $sciezka_backup_locale/locale.tar.gz
fi
echo "Tworzę backup folderu locale."
cd $sciezka_share
tar zcf  $sciezka_backup_locale/tmp/locale.tar.gz locale
echo "Przenoszę pliki locale z tymczasowego folderu."
cp -r $sciezka_backup_locale/tmp/ $sciezka_backup_locale
rm -rf $sciezka_backup_locale/tmp/
exit

;;
"-bk-locale")
echo "Kasuję starę locale."
rm -rf $sciezka_locale
echo "Wypakowuję katalog locale."
cd $sciezka_share
tar zxf $sciezka_backup_locale/locale.tar.gz 
exit
;;
"-auth")
echo "Uruchamiam logowanie."
cd $sciezka_auth
./auth
exit
;;
esac

#QBA_96

 

Tworzymy plik o nazwie "backup.sh" w folderze root. Nadajemy prawa 777.

 

Aby łatwo nam sterować ścieżkami zrobiłem plik z zmiennymi. Nazwałem go config.cfg. Tworzymy plik obojętnie gdzie i wklejamy zawartość code'a. Odpalamy i już.

 

echo "user_mysql=mt2			#user do mysql'a
haslo_mysql=mt2!@#			#hasło do mysql'a
sciezka_locale=/home/game/share/locale/			#ścieżka do serwerowego locale
sciezka_backup=/home/backup/			#ścieżka do folderu gdzie mają się robić backup'y
sciezka_auth=/home/game/auth				#ścieżka do folderu z logowaniem
sciezka_backup_locale=/home/backup/locale/			#ścieżka do folderu backup gdzie mają się tworzyć locale
sciezka_share=/home/game/share/			#ścieżka do folderu z serwerowym share" >> /root/config.cfg

 

Aby skrypt działał na zegarek potrzeba nam konfiguracji z crontabem.

Tworzymy plik obojętnie jaki i obojętnie gdzie i wklejamy to poniżej.Odpalamy skrypt.

 

echo "*/30	*	*	*	*	root	sh /root/backup.sh -mk-backup
*	*/3	*	*	*	root	sh /root/backup.sh -mk-locale" >> /etc/crontab

 

 

Jeżeli to przeczytałeś to masz porządny skrypt a jeżeli masz problem z tak prostym skryptem to nie bież się za stawianie serwera nawet hamachi.

 

 

Pozdrawiam,

QBA_96.

 

edit@

Skrypt nie obejmuje tworzenia folderów z config.cfg. Czyli np. /home/backup/ musicie sami stworzyć.

Badar, sherer, Endymion i 1 inny lubią to
Opublikowano

Matiaskiem aka Badarem ! ;xxx .

 

 

By backup przywrócić wpisujecie :

sh /root/backup.sh -bk-backup

 

Takie P.S od QBY to było ; p, które miałem przekazać ;x

Ba4rtek lubi to
  • 3 tygodnie później...
Opublikowano

Hmmm

 

a czemu mysql serwer stop ?? wiesz ze off mysql przy serwie ktory chodzi to crash db i w wyniku Procesy ida w Gore mowie tu o ok 600+ Procesow i do tego dochodza procesy zombi

 

kopie mozna robic na wlaczonym serwie mysql ja tak mam i kopia nigdy mnie nie zawiodla.

 

 

 

 

#!/bin/bash

KAT='/home'
ARCH='Gdzie ma zapisac np /usr/kopia/'
DZISIAJ=`date +%d-%m-%Y_%H:%M`
STARE=`date +%d-%m-%Y_%H:%M --date="14 days ago"`
DELETE="$STARE.*"
HOST='HOST'
USER='root'
PASSWD='HASLO FTP'


echo "Tworzenie kopi"
echo -e
for baza in account player common
do
echo "Proces Kopiowania $baza"
echo -e
mysqldump -u root -HASLO_MYSQL $baza | gzip > ${ARCH}/${DZISIAJ}.${baza}.sql.gz
       ncftpput -u $USER -p $PASSWD -a $HOST / ${ARCH}/${DZISIAJ}.${baza}.sql.gz

done

ftp -n $HOST << EOF
user $USER $PASSWD
prompt
mdelete $DELETE
quit
EOF
##### Skrypt By MementoMori 4 MPCForum.pl#####

 

 

Prostota w najlepszym wydaniu no tylko ze nie ma wgrywania bazy ale za to wysyła na FTP + dopisuje date do kopi

sfUSERmsql lubi to

Wiem kto jest swój, a kto zwykły pedał
Intel Xeon E5 1650 v2 16GB Ram 1 TB SSD 2x D500 3GB

 

  • 1 miesiąc temu...
Opublikowano

...dla potomnych

 

Witam.

Pisząc z Matiaskiem zauważyłem, że na forum jest mały wybór skryptów na backup. Troszkę posiedziałem i go napisałem.

 

#!/bin/sh/
#QBA_96
. config.cfg
case "$1" in
"-mk-backup")
echo "Tworzenie katalogu tymczasowego."
mkdir $sciezka_backup/tmp
if test -f $sciezka_backup/player.sql
then
rm $sciezka_backup/player.sql
rm $sciezka_backup/account.sql
rm $sciezka_backup/common.sql
fi
#echo "Wylaczanie mysql."
#/usr/local/etc/rc.d/mysql-server stop
#sleep 1
echo "Tworze backup bazy player..."
/usr/local/bin/mysqldump -u $user_mysql -p$haslo_mysql player -e > $sciezka_backup/tmp/player.sql
sleep 2
echo "Tworze backup bazy account..."
/usr/local/bin/mysqldump -u $user_mysql -p$haslo_mysql account -e > $sciezka_backup/tmp/account.sql
sleep 2
echo "Tworze backup bazy common..."
/usr/local/bin/mysqldump -u $user_mysql -p$haslo_mysql common -e > $sciezka_backup/tmp/common.sql
sleep 2
echo "Kasacja logów z MySQL'a."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql log -e "TRUNCATE TABLE log;"
#echo "Backup bazy danej MySQL został ukończony.
#/usr/local/etc/rc.d/mysql-server start
#echo "Zostało włączone MySQL."
cp -r $sciezka_backup/tmp/ $sciezka_backup/
echo "Kasacja tymczasowego katalogu."
rm -rf $sciezka_backup/tmp/
exit
;;

"-bk-backup")
#echo "Wyłączam MySQL'a."
#/usr/local/etc/rc.d/mysql-server stop
echo "Wypakowuję bazę player..."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql player < $sciezka_backup/player.sql
sleep 2
echo "Wypakowuję bazę account..."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql account < $sciezka_backup/account.sql
sleep 2
echo "Wypakowuję bazę common..."
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql common < $sciezka_backup/common.sql
echo "Kasacja logów z MySQL'a."
sleep 2
/usr/local/bin/mysql -u $user_mysql -p$haslo_mysql log -e "TRUNCATE TABLE log;"
#echo "Backup bazy danej MySQL został ukończony."
#/usr/local/etc/rc.d/mysql-server start
#echo "Zostało włączone MySQL."
exit

;;
"-mk-locale")
echo "Tworzę tymczasowy katalog locale."
mkdir $sciezka_backup_locale/tmp
if test -f $sciezka_backup_locale/locale.tar.gz
then
rm $sciezka_backup_locale/locale.tar.gz
fi
echo "Tworzę backup folderu locale."
cd $sciezka_share
tar zcf  $sciezka_backup_locale/tmp/locale.tar.gz locale
echo "Przenoszę pliki locale z tymczasowego folderu."
cp -r $sciezka_backup_locale/tmp/ $sciezka_backup_locale
rm -rf $sciezka_backup_locale/tmp/
exit

;;
"-bk-locale")
echo "Kasuję starę locale."
rm -rf $sciezka_locale
echo "Wypakowuję katalog locale."
cd $sciezka_share
tar zxf $sciezka_backup_locale/locale.tar.gz 
exit
;;
"-auth")
echo "Uruchamiam logowanie."
cd $sciezka_auth
./auth
exit
;;
esac

#QBA_96

 

Tworzymy plik o nazwie "backup.sh" w folderze root. Nadajemy prawa 777.

 

Aby łatwo nam sterować ścieżkami zrobiłem plik z zmiennymi. Nazwałem go config.cfg. Tworzymy plik obojętnie gdzie i wklejamy zawartość code'a. Odpalamy i już.

 

echo "user_mysql=mt2			#user do mysql'a
haslo_mysql=mt2!@#			#hasło do mysql'a
sciezka_locale=/home/game/share/locale/			#ścieżka do serwerowego locale
sciezka_backup=/home/backup/			#ścieżka do folderu gdzie mają się robić backup'y
sciezka_auth=/home/game/auth				#ścieżka do folderu z logowaniem
sciezka_backup_locale=/home/backup/locale/			#ścieżka do folderu backup gdzie mają się tworzyć locale
sciezka_share=/home/game/share/			#ścieżka do folderu z serwerowym share" >> /root/config.cfg

 

Aby skrypt działał na zegarek potrzeba nam konfiguracji z crontabem.

Tworzymy plik obojętnie jaki i obojętnie gdzie i wklejamy to poniżej.Odpalamy skrypt.

 

echo "*/30	*	*	*	*	root	sh /root/backup.sh -mk-backup
*	*/3	*	*	*	root	sh /root/backup.sh -mk-locale" >> /etc/crontab

 

 

Jeżeli to przeczytałeś to masz porządny skrypt a jeżeli masz problem z tak prostym skryptem to nie bież się za stawianie serwera nawet hamachi.

 

 

Pozdrawiam,

QBA_96.

 

edit@

Skrypt nie obejmuje tworzenia folderów z config.cfg. Czyli np. /home/backup/ musicie sami stworzyć.

 

 

logo.png

Wkrocz do świata Fantazji - Azathia.com RELOAD

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...