Disk Doluluk Oranının Bir Program Değişkenine Atanması

Başlatan Chuck, 24 Ağustos 2015 - 23:07:15

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

Chuck

Arkadaşlar merhabalar,
Yazacağım bir programda sabit diskimin anlık doluluk oranına göre farklı işlemler yaptırmayı amaçlıyorum. (Belli dosyaları kopyalama, silme, taşıma gibi). Yazılımcı mantığa göre disk doluluk değerini bir dosyadan sürekli okuyup, bir değişkene atayıp, kontrol yapıları ile istediğimi yapmak aklıma geldi. Ancak Linux'da profesyonel sayılmam. Bu iş için fikir verip yardımcı olabilecek olan var mı?

Teşekkür ederim şimdiden  ;D

Reverser


XFCE ROCKS !
Powered by Thunar & XFWM4



mhmtkrktr

Alıntı Yapdf -h
Bende küçük bir çalışma için araştırıyordum, hazır konu açılmış, bende bir soru sorayım.
df -h ile okunan değeri ben gözle görüyorum. Peki kullanmak istediğim yer bunu nasıl alacak? Örneğin; bu konuya göre df -h çıktısın da, sda1 değeri %10 diyelim. %10 için doluluk oranını anlatabilirim ancak %10 değerini okuması için df -h yazmam yeterli olur mu?

Reverser

Alıntı yapılan: mhmtkrktr - 25 Ağustos 2015 - 01:31:46
Alıntı Yapdf -h
Bende küçük bir çalışma için araştırıyordum, hazır konu açılmış, bende bir soru sorayım.
df -h ile okunan değeri ben gözle görüyorum. Peki kullanmak istediğim yer bunu nasıl alacak? Örneğin; bu konuya göre df -h çıktısın da, sda1 değeri %10 diyelim. %10 için doluluk oranını anlatabilirim ancak %10 değerini okuması için df -h yazmam yeterli olur mu?
Hocam anlatmak istediğinizi tam olarak anlayamadım.
Anlatmak istediğiniz şey, "df -h" komutunun çıktısı içindeki değeri, çekip işlemek mi ?
Amacınız bu ise, regex kullanarak "df -h" çıktısındaki gerekli çıktıyı alan pattern oluşturulabilir. Gerçi "statvfs.h" [1] varken bununla uğraşmak ne kadar anlamlı olur bilmiyorum.
[1] http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/statvfs.h.html


#include <sys/statvfs.h>
#include <iostream>
#include <cstring>
using namespace std;

int main( int argc, char *argv[] )
{
    struct statvfs fiData;
    //checks commandline arguments
    if( argc < 2 ) {
            cout <<"Usage, ./size dir1 dir2 ... dirN\n";
            return(1);
    }

    //Lets loopyloop through the argvs
    for( int  i= 1 ; i<argc; i++ ) {
            if((statvfs(argv[i],&fiData)) < 0 ) {
                    cout << "\nFailed to stat:"  << argv[i];
            } else {
                    cout << "\nDisk: " <<  argv[i];
                    cout << "\nBlock size: "<< fiData.f_bsize;
                    cout << "\nTotal no blocks: "<< fiData.f_blocks;
                    cout << "\nFree blocks: "<< fiData.f_bfree;
            }
    }
}


derlemek için
g++ -o boyut dosya_adı.cpp

XFCE ROCKS !
Powered by Thunar & XFWM4



Chuck

Alıntı yapılan: mhmtkrktr - 25 Ağustos 2015 - 01:31:46
Alıntı Yapdf -h
Bende küçük bir çalışma için araştırıyordum, hazır konu açılmış, bende bir soru sorayım.
df -h ile okunan değeri ben gözle görüyorum. Peki kullanmak istediğim yer bunu nasıl alacak? Örneğin; bu konuya göre df -h çıktısın da, sda1 değeri %10 diyelim. %10 için doluluk oranını anlatabilirim ancak %10 değerini okuması için df -h yazmam yeterli olur mu?

Ben de df -h'tan dönen değeri kontrol edip ona göre işlem yapacağıma göre aslında aynı çözüm ikimizin de işine yarayacak gibi.

heartsmagic

Birden fazla yolu var bu işin, seç seç beğen. Linux dünyası işte :)

df  -h / | tail -1 | awk '{print $5}'
bir örneği. Hatta şöyle daha şık bile olabilir:
df / -h --output=pcent | tail -1

info df
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.