Zenk 0 Zgłoś post Napisano Luty 17, 2012 Witam, Poszukuję skryptu, który stworzył by mi kopię zapasową baz danych mysql (odpalany przez cronjobs). Obowiązkowo z: kompresją plików .sql (np. gzip) kasacją poprzednich plików (np. przed tworzeniem nowej kopii/po określonym czasie żywotu pliku) Byłoby super gdyby ten, bądź oddzielny skrypt także: Uploadował wszystko z folderu backup na zewnętrzny serwer FTP. Mam nadzieję że mi pomożecie, dzisiaj już z 11 skryptów próbowałem, w każdym było coś nie tak. Znalazłem fajny, prosty skrypt z gzipem + kasacją plików. Już się ucieszyłem bo działał mi na testowym serwerze, a gdy chciałem go wgrać na prawidłowy serwer to wywalało mi error: /home/NAZWA_USERA/cron/wiki_bp_log.sh: line 10: /usr/bin/nice: No such file or directory Skrypt: #!/bin/bash DAYS="8" # Jak stare pliki kasowac (w tym przypadku starsze niz 14 dni) USER="uzytkownik" PASSWORD="haslo" DATABASE="Nazwa" SAVEDIR="/home/NAZWA_USERA/backup" # Sciezka do katalogu skladowania backupów find $SAVEDIR -mtime +$DAYS -delete /usr/bin/nice -n 19 /usr/local/mysql/bin/mysqldump --skip-add-locks --user=$USER --password=$PASSWORD $DATABASE -c | /usr/bin/nice -n 19 /bin/gzip -9 > $SAVEDIR/$DATABASE-$(date '+%Y-%m-%d_%H:%M:%S').sql.gz Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Luty 17, 2012 http://www.cyberciti.biz/tips/how-to-backup-mysql-databases-web-server-files-to-a-ftp-server-automatically.html Udostępnij ten post Link to postu Udostępnij na innych stronach
d.v 1409 Zgłoś post Napisano Luty 17, 2012 (edytowany) Ja sobie napisałem coś takiego: #!/bin/bash # Zrzut baz danych mysqldump -uroot -pPASS --all-databases > /home/backup/all_databases.sql # Pakowanie zrzutu baz z aktualną datą DATE=`date '+%d%m%y'` tar -czf /home/backup/all_databases_$DATE.tar.gz /home/backup/all_databases.sql # Przerzucanie spakowanego zrzutu baz do folderu, z którego będzie przerzucany na serwer backupowy # i usuwanie pliku .sql ze zrzutem. mv /home/backup/all_databases_$DATE.tar.gz /var/www/mysql_backup rm -rf /home/backup/all_databases.sql exit; i dodatkowo w cronie parę godzin później odpalany jest rsync wrzucający to na zewnętrzny serwer (wzięty stąd: http://www.scrounge....inux/rsync.html ) Edytowano Luty 17, 2012 przez d.v (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Zenk 0 Zgłoś post Napisano Luty 17, 2012 @Miłosz: DIRS="/home /etc /var/www" W katalogu /home/Nazwa/ nie mam żadnych plików do mysql. Nie wiem za bardzo na co to zmienić. @d.v.: Dzięki zaraz przetestuję. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość nrm Zgłoś post Napisano Luty 17, 2012 automysqlbackup zrobi to wszystko za ciebie i bedzie rotował wg ustawień. Udostępnij ten post Link to postu Udostępnij na innych stronach
ladufli 0 Zgłoś post Napisano Sierpień 14, 2012 Przepraszam za odkop ale czy zrobiłby ktoś skrypt/y który w cronie robiłby backup na następny dzień wysłał go w emailu ponieważ nie mam możliwości zainstalowania rsync ? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Sierpień 15, 2012 Nie wysyłałem nigdy backupu pocztą, aczkolwiek mutt poradzi sobie z wysłaniem w załączniku takowej kopi. Spróbuj coś ala: mysqldump -uUSER -pPASS --opt DB | gzip >~/sql.gz echo | mutt -a ~/sql.gz -s "Backup SQL $(date)" MAIL Udostępnij ten post Link to postu Udostępnij na innych stronach