Ubuntu Türkiye

Yazılım => Genel => Konuyu başlatan: yuci308 - 05 Şubat 2010 - 16:57:48

Başlık: [Çözüldü] mysql veritabanını otomatik yedeğini alma
Gönderen: yuci308 - 05 Şubat 2010 - 16:57:48
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?
Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: coni - 05 Şubat 2010 - 19:06:48
Bir betikle halledilebilir. Betik yazmayı bilen bir arkadaş yardımcı olacaktır.
Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: ebubekirs - 05 Şubat 2010 - 20:02:02
0 7 * * *  şeklinde deneyin.
Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: yuci308 - 09 Şubat 2010 - 08:31:32
o şekilde de denedim ama olmuyor. acaba başka bir dosyaya mı yazmam gerekiyordu veya komuttamı hata var?
Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: ebubekirs - 09 Şubat 2010 - 08:47:04
cat /etc/crontab

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

Aslında /etc altında olduğu için kullanıcı olarak root girmeniz gerekebilir.
Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: yuci308 - 09 Şubat 2010 - 09:58:43
# /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
#
Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: ebubekirs - 09 Şubat 2010 - 10:10:58
kullanici

yazan yere

root

yazın. Yani en alttaki satır

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

olacak.

Başlık: Ynt: mysql veritabanını otomatik yedeğini alma
Gönderen: yuci308 - 09 Şubat 2010 - 10:20:34
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.

Başlık: Ynt: mysql veritabanını otomatik yedeğini alma [çözüldü]
Gönderen: ebubekirs - 09 Şubat 2010 - 10:35:45
Geçmiş olsun. Açıklamanız için teşekkürler.