PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dateien shares und traffic sparen, ...



linux-junkie
13.07.03, 13:37
hi

ich und ein kumpel (besser verwandter) wohnen im gleichen kaff und haben beide dsl. wir haben uns gestern gedacht das man ja z.B. eine linuxiso (sind ja immerhin 700MB) nicht zweimal runterladen muesste und wir überlegten wie man das am besten machen koennte.

also das auf beiden rechnern ein script läuft und ein verzeichnis indexiert und die ergebnisse auf einen kleinen httpd stellt und wir beide immmer darauf gucken koennten und wenn er das hat vllt noch ne mail funktion das er mir oder ich ihm das brennen soll ?

habt ihr verstanden wie ich das meine ?

müsste doch prinzipiell machbar sein, oder ?

cya lj

PS:
auf jedenfall ls -l | ... weiter weiß ich noch nicht ;-)

viper|style
13.07.03, 14:10
ja, das ist möglich, und zwar wahrscheinlich am besten mithilfe von php. setzt natürlich voraus, dass ihr beide einen apache habt, um zu sehen, was der jeweils andere denn so geladen hat.
diese funktion dürfte für dich ggf. interessant sein:

http://de.php.net/manual/de/function.readdir.php

linux-junkie
13.07.03, 14:17
@viper
ich hab nen router/server der 24h an ist da wollte ich da irgendwie zentral machen

das man quasi eine seite hat und eine suche und so und am besten und das script am besten noch so aufgebaut das man auch noch andere rechner reinhängen kann (der kumpel hat en laptop) ...



cya lj

viper|style
13.07.03, 14:31
dann wäre es am sinnvollsten, auf diesem router den mysqld laufen zu lassen und ein kleines formfield auf den index zu stellen, das suche / eintragen von neuen dateien ermöglicht, die sich in der datenbank befinden. ein automatisches aktualisieren von verzeichnissen auf drei verschiedenen rechnern, die nicht (mal) in einem lokalen netz hängen, dürfte denke ich sehr "knifflig" (~ schwer möglich) werden.

(es sei denn, man würde auf jedem client ein(en?) crontab schreiben, welcher die datei dateienrechnerX ("ls -l > dateienrechnerX") per ftp auf den router schiebt, wobei der ftpd so konfiguriert ist, dass sein DefaultRoot dem htdocs-verzeichnis des webservers entspricht. dann müsste man nur ein simples php-script schreiben, dass die textdateien "dateienrechner1", "dateienrechner2" und "dateienrechner3" includet und somit auf eine seite bringt (z.b. index.php). ich bezweifle aber irgendwie, dass das mit dem ftp upload so leicht möglich ist.)

linux-junkie
13.07.03, 14:34
das mit dem ftp-upload hört sihc schon mal gut an .

oder halt per e-mail oder sogar vpn

viper|style
13.07.03, 14:39
per email kann das glaube ich nicht automatisch erfolgen, da die empfangene mail immer noch geöffnet und die anlage / der inhalt gespeichert werden muss.

linux-junkie
13.07.03, 14:43
ja gut aber ftp müsste doch gehen



pcname = computer1

ls -l > $pcname
ftp ......
sleep 600



ich glaube clientseitig wäre das das geringste problem aber server seitig etwas aufwendiger

viper|style
13.07.03, 14:55
hm... ich versuch mal ein kleines script für den apache zu schreiben

update:
so fertig:

<?php
$i = 1;
$maxrechner = 3;
while ( $i <= $maxrechner )
{
include("computer".$i); echo "<br><br>";
$i=$i+1;
};
?>

linux-junkie
13.07.03, 15:00
gut mach mal

das ganz könnte man dann ja dann bei sourceforge oder so anbieten. prinzip. könnte man das ja auch im LAN nutzen .



cya lj

EDIT: sieht gut aus. jetz müsste man das nur irgendwie mit datenbank und so machen *lol*.

viper|style
13.07.03, 15:06
öhm ja ne ich glaube dafür ist es wiederum zu simpel ;D
probier mal aus, ob du das mit dem crontab hinbekommst, dann nur noch bei proftpd (ich nehme jetzt einfach mal an, du benutzt proftpd) in der config DefaultRoot auf dein apache-ServerRoot setzen (oder irgendein anderes unterverzeichnis, hauptsache defaultroot linkt auf selbiges), einen ftp-zugang einrichten und das obige script als index.php in das verzeichnis setzen. setzt natürlich voraus, das auf dem rechner php(4) installiert ist. das script ist per $maxrechner entsprechend anpassbar.

EDIT: wozu datenbank?? ein strg+f in den meisten browser liefert sofort das gewünschte suchresultat und editieren muss man die beiträge ja nicht, weil sie keine fehler aufweisen. das einzige, was fehlt, wäre eine automatische klick-auf-die-datei-und-der-andere-bekommt-ne-mail funktion, das wäre aber n bisschen sehr aufwendig für den nutzen, den es bringt...

linux-junkie
13.07.03, 15:12
danke erstmal,


ich werde das nächste woche erweitern mit suche und so.

und proftpd hab ich momentan nicht bzw. auf keinem client linux aber das kommt bald wieder.


cya lj


EDIT:
Email: das ist doch nicht aufwendig du gibst einfach jeder datei einen link auf die datei email.php und mit dem link übergibtst du noch ne var die den kompletten pfad auf dem zielsys enthält und dann noch ne funktion zum etwas dazu schreiben und ein mailserver läuft sowieso auf dem system.

BTW: wärst du damit einverstanden das ich dieses script wenn alles fertig ist in die HowTo sektion stelle ?

viper|style
13.07.03, 15:29
ok, viel erfolg!
das problem liegt darin, dass man wohl nicht so einfach jeder datei, die gelistet wird, einen link verpassen kann, weil das ganze als ein block, eine masse von links includet wird. die einzige lösung wäre vll, das ganze zeilenweise einzulesen (bei ls -l) oder immer bis zur nächsten unterbrechung (leerzeichen; bei ls) und dann mit einem individuellen link zu versehen. dazu fällt mir aber adhoc auch keine fertige lösung ein. vll geht das per array...

@howto-sektion: klar, kein prob

linux-junkie
13.07.03, 20:04
ok dann steht die fertige lösung unter der gpl. ;-)

und mit den einzelnen links :

der block von ls -l sieht doch dann so aus oder

/data/1.mp3
/data/2.mp3
usw.

dann kann man doch die komplette file mit php via file() einlesen der gibt dann einen array aus. und den kann man dann mit eine schleife anzeigen und verlinken


cya lj

viper|style
14.07.03, 00:51
mein "ls -l" sieht so aus:
drwxr-xr-x 7 viper viper 7264 2003-07-09 15:43 docs
mit "ls -1" hingegen bekomme ich das gewünschte ergebnis:
docs

dann mit file() in den array lesen, die anzahl der elemente per count() bestimmen, eine while-schleife erzeugen und jedem element per inkrementierter variable eine eigene link-id zuweisen... yo, das könnte klappen :D

viper|style
20.07.03, 17:28
ich hab mal ein kleines script geschrieben, das auf einem rechner in einem variablen verzeichnis die dateien auflistet und verlinkt:


<?php
error_reporting(NONE);
$defaultdir = "/";
switch($dirname)
{
default:
echo "";
break;
};
if ($dirname == "")
{
$dirname = $defaultdir;
};
$x=0;
$dir = opendir($dirname);
echo "<h2>Verzeichnis: ".$dirname."</h2>";
while ($filename = readdir($dir))
{
if($filename != "." && $filename != "..")
{
$x = $x+1;
$datei = array($x=>$filename);
echo "<a href='email.php?file=".$datei[$x]."'>".$datei[$x]."</a>"."<br>";
};
};
?>

fehlt nurnoch die email.php, aber das ist wohl eh ziemlich einfach. wie sieht's mit dem cron-script aus? ich bin da nicht sonderlich weit gekommen mit meinen (ftp) versuchen.

linux-junkie
21.07.03, 14:37
hi

in wirklichkeit hatte ich noch nicht richtig zeit (Todesfall in der family und reinstall des routers)

ich werde mich aber diese woche damit beschäftigen.



cya lj

viper|style
21.07.03, 20:29
:( mein beileid. ok, lass dir ruhig zeit, ich hab ferien :D