in Eski Blog Yazılarım

Perl ile Dans ve Perl Akabinde Perl

Bu aralar Perl ile işlerim çok oluyor. Bunlardan paylaşabildiklerimi elimden geldiğince yazmayı düşünüyorum. Perl’de öğrendiğim ipuçlarını ve çeşitli trick’leride yazsam fena olmaz.

Perl syntax’ını öğrenmek için biraz kaynak araştırması yaptığımda hiç bir Türkçe web sitesine erişemedim. belgeler.org sitesine bir umut ile girdim ama ordada herhangi bir döküman bulamadım. Bulduğum en güzel kaynak Gazi Üniversitesi’nden Ertan TÜRKMEN‘in perl dersleri.

Gerçekten çok yardımcı oldu giriş seviyesinde perl öğrenmek isteyenler için güzel bir kaynak olabilir. Neyse fazla uzatmadan öteki paragrafa goto:

Gelelim aşağıdaki kodun ne yaptığına;

Belirttiğiniz klasörde ki dosyaların 61 (Bu değişebiliyor) günden eski olanları tar‘layip bzip2 ile sıkıştırıp belirttiğiniz dizine yedek alıyor. Daha sonra bu 61 günden eski dosyaları siliyor.

Burda dikkat etmeniz gereken durum şu: Yedekleyeceğiniz dosyalar çoksa bzip2 sunucu performansını olumsuz yönde etkileyebilir. O nedenle sunucunun yoğun olduğu saatlerde çalıştırırsanız grogi pozisyonu doğabilir.

#!/usr/bin/perl
use POSIX qw(strftime);

my $TARIH = strftime "%Y%m%d%H%M", localtime;
my $GUN = 61;
my $PATH ="/home/vpopmail/domains/domain.com/depo/Maildir/cur";

print("Sıkıştırma Başlıyor...n");
system("find ".$PATH." -type f -mtime +".$GUN." | tar -c --files-from=- | bzip2 > /depoarsiv/".$TARIH.".tar.bz2");
print("Dosyalar Siliniyor...n");
system("find ".$PATH." -type f -mtime +".$GUN." -exec rm {} \; > /dev/null");
print("İşlem Tamamlandın");

Yorum Bırak

Comment