1.5 sene önce yazmıştım en basitinden birşeydi. Askere gittikten sonra gözüm arkada kalmadı en azından

---

Bir klasörde her gün için ayrı yedek alma fikrim vardı uzun zamandır.
2007-05-17_yedek.sql
2007-05-16_yedek.sql
2007-05-15_yedek.sql
şeklinde yedek almak ve sitelerimde oluşacak herhangi bir problemde istediğim güne ait yedeğe geri dönmek istiyorum.
Bunun için öncelikle root yetkilerine sahip olmanız gereklidir. Sistemimize ssh ile login olduktan sonra öncelikle boş bir sh dosyası yaratıyoruz.
touch yedek.sh
Ardından dosyaya çalışması için izin veriyoruz
chmod +x yedek.sh
Sonra bu dosyayı pico veya vi gibi bir editörle açıyoruz
pico yedek.sh
İçerisine aşağıdaki kodları kendinize göre özelleştirerek yazıyoruz
#/usr/bin/!
tarih=$(date +%F)
sqldosyasi=($tarih"_yedek.sql")
mysqldump -u kullanici -psifre veritabani > /home/osman/public_html/yedek/"$sqldosyasi"
Bir bash scriptinde ilk satırımız mutlaka olmalıdır. İkinci satırımızda tarih değişkenini belirliyoruz. Üçüncü satırda dosya adı değişkenini belirledikten sonra son satırda MySQL veritabanı yedeği komutunu veriyoruz.
“kullanici” yazan kısıma veritabanı kullanıcı adımızı, “sifre” yazan kısıma veritabanı şifremizi, “veritabani” yazan kısıma veritabanı adımızı, “/home/osman/public_html/yedek/” kısmına yedek aldırmak istediğimiz klasörü yazıyoruz. Ve dosyayı kaydedip çıkıyoruz.
Son olarak pico ile /etc/crontab dosyasını açıyoruz ve içerisine şu satırı ekliyoruz :
* 5 * * * /home/osman/yedek.sh
Bu zamanlanmış görev satırı, görevi her gün saat 5.00′da çalıştırılmak üzere ayarlamaktadır.. “/home/osman/yedek.sh” kısmına yedek dosyamızı kaydettiğimiz dosya yolunu yazıyoruz..


Ni-Osman
El atıverde geliştiriver şekerim