Kirjoittaja Aihe: Levytilankäyttömäärä nettiin?  (Luettu 6712 kertaa)

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Levytilankäyttömäärä nettiin?
« : 29.03.07 - klo:03.00 »
Osaiskohan joku kertoa jotain helppoa konstia miten saisin tiedon käytetystä levytilasta ja se uppisi automaattisesti sen nettin? Esimerkiksi jos haluaisi kansion /home/käyttäjä/jotain/ ja ton kansion koon sais upittua nettiin? Ja se päivittyisi kun sinne lisää tiedostoa tai poistaa tiedostoja?

Linux user #460798

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #1 : 29.03.07 - klo:09.56 »
Et hirveän tarkasti määritellyt varsinaista tarvetta tai sitä, millaisena haluat tuon levytilankäytön näkyvän, mutta ensimmäisenä tulisi mieleen käyttää du-komentoa sekä cronia.

esim croniin asettaa jotain tällaista:
Koodia: [Valitse]
du /home/käyttäjä/jotain > levytilankaytto.txt
Näin saat tuon levynkäytön talteen, ja jää enää jäljelle tuon siirtäminen palvelimelle, eli jos uppimisella tarkoitat ftp-siirtoa ja php-ohjelmointi on tuttua sekä koneessasi on php asennettuna komentorivitulkkina, kannattaa katsoa tuolta:

http://fi2.php.net/manual/en/ref.ftp.php

php:tä käyttämällä on myös mahdollista käynnistää tuo du-komentto ja ottaa sen tuloste talteen (vaikkapa väliaikaistiedostoon), jonka jälkeen se voidaan upata halutulle palvelimelle.
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #2 : 29.03.07 - klo:11.40 »
Elikkä kun minulla on nettisivut omalla palvelimella, ja siellä on muutamalla kaverilla myös omat osiot. Ja haluaisin nettiin tulevan niiden tilankäytön jotain esim. 100mb/300mb.

Ja mieluiten php:llä toteutettu.

Linux user #460798

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #3 : 29.03.07 - klo:12.13 »
Eli temppu helpottuu kummasti, kun palvelimen pitää "vain" näyttää oman levyosion/osioiden tilankäyttö.

tuolta http://fi2.php.net/manual/en/function.shell-exec.php saat vinkkejä komennon suorittamiseen sekä tulosteen talteenottoon.

Tässä tapauksessa komento df antanee sopivamman tulosteen, eli esim itselläni:

Koodia: [Valitse]
$ df /dev/sda1
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1            307663812 197462168  94573212  68% /home

Eli käytännössä tavalla tai toisella pilkot tuon toisen rivin välilyöntien/sarkainten kohdalta osiin (explode-funktio tai preg_splitillä http://fi2.php.net/manual/en/function.preg-split.php) ja näytät saadun taulukon solut 2 ja 3.

Näillä vinkeillä päässet varmaan alkuun, google sekä varsin erinomainen ja kattava php-manuaali (http://fi2.php.net/manual/en/) jelppinee lopussa. :)
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #4 : 29.03.07 - klo:13.45 »
Hmm.. :D nyt kyl jäädyin pahasti. :D Noh pitää koittaa kehittää jotain.

Linux user #460798

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #5 : 29.03.07 - klo:17.42 »
Nyt olen testaillut sitä ja saanut sen vaan tulostamaan:
Koodia: [Valitse]
total 164
-rw-r--r-- 1 marbo      marbo   325 Mar 21 11:04 asetukset.php
-rw-r--r-- 1 marbo      marbo   133 Mar 20 17:39 error.php
-rw-r--r-- 1 marbo      marbo   101 Mar 27 01:07 etusivu.php
drwxr-xr-x 2 marbo      marbo  4096 Mar 27 00:57 images
-rw-r--r-- 1 marbo      marbo  2515 Mar 27 01:38 index.php
-rw-r--r-- 1 marbo      marbo   776 Mar 26 14:58 info.php


Ja ton tulostamiseen netissä olen käyttänyt:
Koodia: [Valitse]
<?php
$output 
shell_exec('ls -l');
shell_exec('cd /var/www');
echo 
"<pre>$output</pre>";
?>


Mutta haluaisin että se tulostais vaan sen koon, ei mitään ylinmäärästä tekstiä, oliskos mahollista?

Linux user #460798

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #6 : 29.03.07 - klo:17.47 »
Nyt olen testaillut sitä ja saanut sen vaan tulostamaan:
Koodia: [Valitse]
total 164
-rw-r--r-- 1 marbo      marbo   325 Mar 21 11:04 asetukset.php
-rw-r--r-- 1 marbo      marbo   133 Mar 20 17:39 error.php
-rw-r--r-- 1 marbo      marbo   101 Mar 27 01:07 etusivu.php
drwxr-xr-x 2 marbo      marbo  4096 Mar 27 00:57 images
-rw-r--r-- 1 marbo      marbo  2515 Mar 27 01:38 index.php
-rw-r--r-- 1 marbo      marbo   776 Mar 26 14:58 info.php


Ja ton tulostamiseen netissä olen käyttänyt:
Koodia: [Valitse]
<?php
$output 
shell_exec('ls -l');
shell_exec('cd /var/www');
echo 
"<pre>$output</pre>";
?>


Mutta haluaisin että se tulostais vaan sen koon, ei mitään ylinmäärästä tekstiä, oliskos mahollista?

ainakin man du ilmoittaa että argumentti -c "Displays a grand total", ja -h tekee tulosteesta helpommin luettavaa ( ts. muuttaa koot kiloiksi, megoiksi, gigoiksi jne. )
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #7 : 29.03.07 - klo:17.57 »
Nyt olen testaillut sitä ja saanut sen vaan tulostamaan:
Koodia: [Valitse]
total 164
-rw-r--r-- 1 marbo      marbo   325 Mar 21 11:04 asetukset.php
-rw-r--r-- 1 marbo      marbo   133 Mar 20 17:39 error.php
-rw-r--r-- 1 marbo      marbo   101 Mar 27 01:07 etusivu.php
drwxr-xr-x 2 marbo      marbo  4096 Mar 27 00:57 images
-rw-r--r-- 1 marbo      marbo  2515 Mar 27 01:38 index.php
-rw-r--r-- 1 marbo      marbo   776 Mar 26 14:58 info.php


Ja ton tulostamiseen netissä olen käyttänyt:
Koodia: [Valitse]
<?php
$output 
shell_exec('ls -l');
shell_exec('cd /var/www');
echo 
"<pre>$output</pre>";
?>


Mutta haluaisin että se tulostais vaan sen koon, ei mitään ylinmäärästä tekstiä, oliskos mahollista?

ainakin man du ilmoittaa että argumentti -c "Displays a grand total", ja -h tekee tulosteesta helpommin luettavaa ( ts. muuttaa koot kiloiksi, megoiksi, gigoiksi jne. )

Oli siitä nyt vähän hyötyä, että sai edes vähän kivoimmiksi niit lukuja, mut vieläkään en saa pelkkää kansion kokoa.

Linux user #460798

Tonde

  • Käyttäjä
  • Viestejä: 919
  • Feisty Fawn
    • Profiili
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #8 : 29.03.07 - klo:18.10 »
Ja ton tulostamiseen netissä olen käyttänyt:
Koodia: [Valitse]
<?php
$output 
shell_exec('ls -l');
shell_exec('cd /var/www');
echo 
"<pre>$output</pre>";
?>

Olet siis yrittänyt tulostaa levyn kokoa "ls -l"-komennolla :)

vaihda php:ssä kohtaan 'ls -l' komento, jonka haluat suorittaa skriptissä ja kohtaan 'cd /var/www' hakemisto, josta tietoja haluat kalastella. Senhän voi ottaa luultavasti kokonaan poiskin, kun ei taida tarvita erikseen siirtyä mihinkään kansioon, jotta levynkäyttöä voi analysoida.
Heitä hyväsit hitaudelle. Asenna ubuntu!

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #9 : 29.03.07 - klo:18.26 »
Olet siis yrittänyt tulostaa levyn kokoa "ls -l"-komennolla :)

vaihda php:ssä kohtaan 'ls -l' komento, jonka haluat suorittaa skriptissä ja kohtaan 'cd /var/www' hakemisto, josta tietoja haluat kalastella. Senhän voi ottaa luultavasti kokonaan poiskin, kun ei taida tarvita erikseen siirtyä mihinkään kansioon, jotta levynkäyttöä voi analysoida.

No elikkäs, ongelma tässä lähinnä on se, että en teidä oikeaa komentoa? Olen yrittänyt montaa mutta en tiedä millä komennolla saa pelkän levytilan käytön vaikka mb:nä yms?


Linux user #460798

Tonde

  • Käyttäjä
  • Viestejä: 919
  • Feisty Fawn
    • Profiili
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #10 : 29.03.07 - klo:18.36 »
Minä en ainakaan löytänyt mitään erityistä ohjelmaa, joka kertoisi levynkäytön ja vapaana olevan tilan. df -h |grep home antaa kotihakemiston levynkäytön... Jos et löydä hakukoneella tai muuten haluamaasi, pitää sitten PHP:llä tai jollain parsia haluamasi ulkoasu.
Heitä hyväsit hitaudelle. Asenna ubuntu!

Melmacian

  • Käyttäjä
  • Viestejä: 868
  • Ubuntu Hardy
    • Profiili
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #11 : 29.03.07 - klo:18.41 »
No elikkäs, ongelma tässä lähinnä on se, että en teidä oikeaa komentoa? Olen yrittänyt montaa mutta en tiedä millä komennolla saa pelkän levytilan käytön vaikka mb:nä yms?
Koodia: [Valitse]
df -h
Koodia: [Valitse]
<?php
$output 
shell_exec("df -h");
echo 
"<pre>$output</pre>";
?>

?

Tonde

  • Käyttäjä
  • Viestejä: 919
  • Feisty Fawn
    • Profiili
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #12 : 29.03.07 - klo:19.04 »
niin ja suodatusta voit tehdä vaikkapa näin:

Koodia: [Valitse]
<?php
$output 
shell_exec("df -h|grep Tiedosto");
$output2 shell_exec("df -h|grep sd"); //jos omistat sata-kiintolevyn toimii tällä.
//$output2 = shell_exec("df -h|grep hd"); //jos omistat ide-kiintolevyn käytä tätä.
echo "<pre>$output</pre>";
echo 
"<pre>$output2</pre>"

?>

Heitä hyväsit hitaudelle. Asenna ubuntu!

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #13 : 30.03.07 - klo:08.41 »
niin ja suodatusta voit tehdä vaikkapa näin:

Koodia: [Valitse]
<?php
$output 
shell_exec("df -h|grep Tiedosto");
$output2 shell_exec("df -h|grep sd"); //jos omistat sata-kiintolevyn toimii tällä.
//$output2 = shell_exec("df -h|grep hd"); //jos omistat ide-kiintolevyn käytä tätä.
echo "<pre>$output</pre>";
echo 
"<pre>$output2</pre>"

?>


Kiitos tämä oli hyvä. :) Vielä pitää vaan kattoo miten saa jonkun tietyn kansion laitettua näkyviin, esim. /home/marbo/www tai jotain.

Linux user #460798

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #14 : 30.03.07 - klo:09.01 »
Kokeileppa tuota:

Koodia: [Valitse]
<?php

$output shell_exec("df -h | grep /dev/sda1");  //itselläni SATA-levy tuolla

$output_palaset preg_split("/[\s]+/"$output);


print('<pre>');print_r($output_palaset);print('</pre>');
?>


Eli tuo preg_split noilla parametreilla pilkkoo merkkijonon palasiksi white-space-merkkien kohdalta (välilyönnit, sarkaimet jne)

jonkun kansion tiedot saat vastaavasti muuttamalla tuon komennon muotoon

Koodia: [Valitse]
du /home/tiedosto -s -h
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

Marbo

  • Käyttäjä
  • Viestejä: 427
    • Profiili
    • Toimi.org
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #15 : 30.03.07 - klo:09.24 »
Kokeileppa tuota:

Koodia: [Valitse]
<?php

$output shell_exec("df -h | grep /dev/sda1");  //itselläni SATA-levy tuolla

$output_palaset preg_split("/[\s]+/"$output);


print('<pre>');print_r($output_palaset);print('</pre>');
?>


Eli tuo preg_split noilla parametreilla pilkkoo merkkijonon palasiksi white-space-merkkien kohdalta (välilyönnit, sarkaimet jne)

jonkun kansion tiedot saat vastaavasti muuttamalla tuon komennon muotoon

Koodia: [Valitse]
du /home/tiedosto -s -h

Kiitoksia paljon. Tämä toimiipi. :)

Linux user #460798

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Vs: Levytilankäyttömäärä nettiin?
« Vastaus #16 : 30.03.07 - klo:10.43 »
http://phpsysinfo.sourceforge.net/

Tuolla näkee kanssa kaikenlaista tarpeellista ja tarpeetonta...