Tekil Mesaj gösterimi
Alt 02 Mart 2015, 11:14   #2
Çevrimdışı
saywhat
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: oto yedek alma .tcl




bunu sisteminizde kurulu olan tclsh'den faydalanarak çalışacak bir tclsh scripti olarak şu şekilde kullanabilirsiniz :

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#!/usr/bin/tclsh # yedek dosya ismi ne olmali: # ( yedekleri ayrı bir dizinde oluşturmak isteniyorsa: # yedekler için bir dizin/klasör oluşturun: ./backups gibi.. # ve alttaki ayardaki yedek dosya ismini bu dizin/klasörü belirtecek şekilde : # set yedekismi "/home/nrt/backups/benim-botum" gibi... # yedeklenen ...tar.gz o dizin/klasörde oluşturulacaktır. set yedekismi "benim-biricik-botum" # yedek alinacak dosyalarin dizini ( /home/nrt/bot/ gibi..) set dizin /home/hesap-ismi/yedek-alinacak/ # sistemde tcllib/tar paketinin bulunduğu dizin. lappend auto_path /usr/lib/local/tcllib1.xx/tar # tcllib tar paketi kullanir: package require tar # tarih formati -> 02-Mart-2015 gibidir. tcl8.5 ve ustu surumler icin * # daha eski surumlerde clock komutunda bu islemez. # tcl8.4 ve daha eski surumler icin : # set stamp [clock format [clock seconds] -format "%d-%m-%Y"] olarak deneyin. set stamp [clock format [clock seconds] -format "%d-%B-%Y" -timezone :Europe/Istanbul -locale tr_TR] append backup [join $::yedekismi "-"] - $stamp .tar.gz catch { ::tar::create $backup [glob $::dizin*] } out puts $out

bu kodu bir isimle (mesala yedek.tcl diyelim ) kaydedip shell'inize gönderin . chmod u+x /bulunduğu/dizin/yedek.tcl yada chmod 755 /bulunduğu/dizin/yedek.tcl -R gibi scripti işletme/yürütme izinlerini verin.

yedeklerin toplanmasını istediğiniz bir dizin/klasör oluşturun ( örneğin yedeklerim gibi...) bu klasöre/dizinede izinleri verin (okuma/yazma ..) chmod u+x /bulunduğu/dizin/yedeklerim yada chmod 755 /bulunduğu/dizin/yedeklerim -R gibi....

koddaki ( set yedekismi "..." ) ayarında yedeklerinizin toplanmasını istediğiniz klasör/dizini gösterecek şekilde backup/yedekleme dosya ismiyle birlikte girin.. ( set yedekismi /bulunduğu/dizin/yedeklerim/yedeğimin-ismi" ) gibi...

yedeklemeyi manuel komutla yapmak için : konsol/shell üzerinde : tclsh yedek.tcl (yedek.tcl 'nin olduğu dizinde*) komutu kodu işler .farklı bir dizinden çalıştırılacaksa : tclsh /bulunduğu/dizin/yedek.tcl ve backup/yedeğiniz set yedekismi ayarında girdiğiniz yerde ( set dizin "..." ayarında yedeklenmesini istediğiniz dizini/klasörü yedekleyerek ) ....tar.gz olarak tarball halinde yedeklenmiş olur.

yok otomatik belli zaman aralıklarında çalıştırmak isteniyorsa yeni bir cronjob oluşturun:

crontab -l <- komutu var olan cronjob'ları listeler.
crontab -r <- cronjab'ı silmek için
crontab -e <- düzenlemek/yeni oluşturmak için.

crontab -e yaptıktan sonra yeni zamanlanmış görevi:

(yukardaki eggdrop scriptindeki gibi haftada bir pazar geceyarısı işlenmesi için örnek..

59 23 * * 0 tclsh /bulunduğu/dizin/yedek.tcl

şeklinde yeni cronjob oluşturarak ,örnek olarak "yedek.tcl" dediğimiz kodun beli bir gün ve zamanda otomatik olarak çalıştırılmasını sağlamış oluyoruz.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet bizimmekan