Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Software » Datein einsammeln und kopieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
31.01.2008, 11:55 Uhr
ssam



Hallo,

ich suche ein Tool, bzw will es selber schreiben fals es noch keines gibt.

Das Tool soll in einem Netzwerk auf verschiedenen Rechnern und Servern, in verschiedenen Verzeichnissen Dateinen einsammeln und in ein Zielverzeichnis in einer bestimmten Struktur gespeichert werden. Anzahl der Quellverzeichnisse ändert sich.

Da sich Pfade ändern möchte ich Quell- und Zielverzeichnisse als Variablen angeben können. Auch möchte ich sagen können ob das ganze Quellverzeichnis kopiert werdern soll, oder nur wenige bestimmte dateien oder per ausschluss sagen das alle ausser bestimmte dateien kopiert werden sollen. Daher macht es ja sinn, Quell- und zielverzeichnisse per Konfigurationsdatei anzugeben.

Das ganze soll sowohl unter linux als auch Windows laufen.

Hat da jemand eine Idee bzw kennt jemand ein Tool?


edit: es soll natürlich in c++ geschrieben sein bzw werden.

Dieser Post wurde am 31.01.2008 um 12:02 Uhr von ssam editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.01.2008, 12:15 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wie wärs mit rsync? gibts ja auch für windows (siehe cygwin) wenn man das dann ggf noch in ein bash-script verpackt, kannste das so ansprechen wie dus brauchst. C++ wär da ziemlicher overkill
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.01.2008, 14:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ich stell die PM von ssam hier mal rein:


Zitat von ssam:

ich hab mir gerade das cygwin angeschaut. nur erschliesst sich mir noch nicht ganz wie ich dem cygwin dann die jeweiligen daten übermittle.

ziel ist es ja, einfach nur in der Konf.-datei einzustellen, was woher und wohin kopiert werden soll und dann nur noch das tool aufrufen und es soll ja automatisch gehen.

das tool an sich wird recht oft aufgerufen ich schätze mal so einmal jeden tag mindestens. und die datenmenge in der Konfigurationsdatei ist recht gross.

Das tool such dateien für einen installer zusammen. da oft bibliotheken gebraucht werden und dokus und sorcecodedatein, und sich davon einige öfter ändern bzw einige hinzukommen, soll der aufwand ja minimiert werden.


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.01.2008, 14:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Also, du kannst dir z.b ein bash-script + konfigurationsdatei anlegen:


copy.sh:

#/bin/bash

if [ -z "$1" ] ; then
  echo "Usage: $0 target-path/server-spec (see \"man rsync\")"
  exit 1;
fi

ZIEL=$1

COPYTOOL=rsync # Pfad zum rsync-programm (unter unix normalerweise unnötig zu ändern, aber unter win ggf)
CATTOOL=cat # Pfad zum cat-programm (unter unix normalerweise unnötig zu ändern, aber unter win ggf)

CONFIG=copy.files # Pfad zur Konfigurationsdatei


for FILE in $($CATTOOL $CONFIG); do
  $COPYTOOL $FILE $ZIEL
done



mit


copy.files:

/datei1
/a/b/c/datei2
/d/e/datei3



sollte schon völlig ausreichen. für ziel-pfad muss man nachsehen wie man den bei rsync angeben muss, normalerweise sowas wie "user@server:/path"

ggf. kann man das ganze auch auf scp ummünzen, dann bei cygwin ist ja auch ein ssh-server dabei, und unter linux sowieso.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.02.2008, 08:16 Uhr
ssam



vielen dank ersteinmal für die hilfe, aber da kommen ja noch einige dinge hinzu und ich weis nicht ob das damit noch lösbar ist.

man soll ja entweder das quellverzeichnis ( jetzt mal eins rausgepickt) komplett kopieren können, oder nur einzelne datein oder per ausschlussverfahren sagen das man alle ausser z.B. *.doc haben möchte.

$COPYTOOL $ORDNER (mit bestimmtem restriktionen) $ZIEL

Und ich möchte ja nicht 100 dateien je quellverzeichnis einzeln angeben die ich kopieren möchte. wenn ich jede datei die rein soll in die config-datei schriben muss, kann ich die datein auch per hand suchen und kopieren, da is der aufwang genausohoch.

Es soll mit so wenig wie möglich Aufwand beim Konfigurieren der datei, das kopieren der dateien möglich sein.

Dieser Post wurde am 01.02.2008 um 08:25 Uhr von ssam editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.02.2008, 09:44 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja rsync akzeptiert auch komplette Verzeichnisse und auch Ausschlussmöglichkeiten.

das kannst du sogar direkt in der files-datei da mit angeben:


copy.files:

/datei                            # einzelne Datei
-r /b                             # komplettes verzeichnis
-r --exclude "*.tmp" /a/b         # alles bis auf .tmp-Dateien


--
class God : public ChuckNorris { };

Dieser Post wurde am 01.02.2008 um 09:45 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.02.2008, 13:38 Uhr
ssam



ich hab noch ein Problem, eine datei in der copy.files enthält leerzeichen.beim speichern auf die variable FILES hört er hinter dem \ auf und versuch zu kopieren.

und dann den rest des dateinamens nocheinmal zu kopieren.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.02.2008, 13:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi,

musst es evtl so angeben:


Code:
this\ is\ a\ file\ with\ spaces


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.02.2008, 13:56 Uhr
ssam




Zitat von FloSoft:
hi,

musst es evtl so angeben:


Code:
this\ is\ a\ file\ with\ spaces





hab ich doch, so stehts drin bei mir

d:/test/release\ 2.7/release\ 2.7.doc

edit:

normalerweise: d:/test/release 2.7/release 2.7.doc

Dieser Post wurde am 01.02.2008 um 13:58 Uhr von ssam editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.02.2008, 14:05 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


kannst auch probieren "" rumzumachen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Software ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: