[Çözüldü] mysql veritabanını otomatik yedeğini alma

Başlatan yuci308, 05 Şubat 2010 - 16:57:48

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

yuci308

merhaba
wiki dosyalarından edindiğim bilgilerle AutoMySQLBackup isminde bir betik bbuldum kendime göre ayarlarını yaptım /etc/cron.daily klasörüne kopyaladım. programı manuel çalıştırabiliyorum ve /etc/cron.daily/backups/daily içerisine yedeklerimi alabiliyorum. fakat ben bunu otomatik yapmasını istiyorum, yani hergün saat 7:00 de otomatik yedek alsın. bunun için crontab isimli dosyaya şunları yazdım ;

00 07   * * *   kullanici /etc/cron.daily/automysqlbackup.sh

ama otomatik çalıştıramadım. büyük ihtimalle yanlış yere yazdım ve nereye yazağımı bilmiyorum. birde kullaniciyi yazdıktan sonra komutu çalıştırmak için şifre isteyecekmi, isteyecekse şifreyi nasıl ve nereye yazmalıyım?

coni

Bir betikle halledilebilir. Betik yazmayı bilen bir arkadaş yardımcı olacaktır.

ebubekirs

Dünyaya gelen de benim, dünyadan giden de benim

yuci308

o şekilde de denedim ama olmuyor. acaba başka bir dosyaya mı yazmam gerekiyordu veya komuttamı hata var?

ebubekirs

cat /etc/crontab

çıktısını görebilir miyiz?

Aslında /etc altında olduğu için kullanıcı olarak root girmeniz gerekebilir.
Dünyaya gelen de benim, dünyadan giden de benim

yuci308

#5
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root    cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
30 7 * * * kullanici /etc/cron.daily/automysqlbackup.sh
#

ebubekirs

kullanici

yazan yere

root

yazın. Yani en alttaki satır

30 7 * * * root /etc/cron.daily/automysqlbackup.sh

olacak.

Dünyaya gelen de benim, dünyadan giden de benim

yuci308

teşekkür ederim yardım eden arkadaşlara sorunumu çözdüm. nasıl çözdüğüme gelince
öncelikle çalışacak dosyayı /home/kullanici dizinimde /yedek isminde bir dizin açarak oraya kopyaladım
yani dosya /home/kullanici/yedek dizini içerisinde, birde yedek dizinine backups dizini oluşturdum yedekleri bunun içine atsın diye.
sonra dosya içerisinde yani çalışacak betik dosyam automysqlbackup.sh içerisinde
BACKUPDIR="/home/kullanici/yedek/backups" olarak ayarladım ve kaydettim (betik içerisinde kullanıcı adı, database adı, şifre bilgilerinide ayarlamak gerekiyor)
crontab -e komutu ile kendi kullanıcım için crontab dosyasını açıyoruz.
buraya şu komutu girdim
# m h  dom mon dow   command
30 7 * * * sh /home/kullanici/yedek/automysqlbackup.sh
kaydettim ve çalıştığını gördüm. kendi crontab dosyasında hangi görevlerin olduğunu görmek için
crontab -l komutunu kullanabilirsiniz.


ebubekirs

Dünyaya gelen de benim, dünyadan giden de benim