Compare file/dir size
------_=_NextPart_001_01CB2801.D7D7247F
Content-Type: text/plain;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
Hi,
My aim is to compare two directories on different servers, whereas one
is the FTP'ed "copy" of the other, by checking whether both directories
are of exactly the same size. I tried to accomplish that with
Filesys::DiskUsage, but unfortunately the two dirs are always of
different size because the ".." differs. Also, I couldn't find a way to
restrict the 'du' only to certain files In the dir (e.g. du $dir/*.Z),
obviously it works with dirs only...!?
Any hints appreciated :-)
Kind regards,
Nora
------_=_NextPart_001_01CB2801.D7D7247F--
Re: Compare file/dir size
--001485ecf72c8f9a7f048bd07351
Content-Type: text/plain; charset=UTF-8
On Tue, Jul 20, 2010 at 1:51 PM, HACKER Nora <nora.hacker [at] stgkk.at> wrote:
> Hi,
>
> My aim is to compare two directories on different servers, whereas one
> is the FTP'ed "copy" of the other, by checking whether both directories
> are of exactly the same size. I tried to accomplish that with
> Filesys::DiskUsage, but unfortunately the two dirs are always of
> different size because the ".." differs. Also, I couldn't find a way to
> restrict the 'du' only to certain files In the dir (e.g. du $dir/*.Z),
> obviously it works with dirs only...!?
>
> Any hints appreciated :-)
>
> Kind regards,
> Nora
>
>
>
>
Hi Nora,
My solution to this would be to simply open the directory and read the files
then using the individual files (easy enough to filter on extensions or what
ever else you like) compare the file sizes.
Opening a directory is as simple as opening a file:
opendir( <handle>, <dir name>) or die $!;
while( defined ( my $file = readdir <handle> ) {
next unless $file =~ /^backup.*\.bak$/ # filter out all files that do not
start with "backup" and end in .bak
my $filesize = -s $file;
# Or if you are of the OO pursvation
use File::stat;
my $filesize = stat($file)->size;
}
Do the same with the other directory and compare the results (I would use a
hash for each directory with the filename as key and the size as value then
it is easy to compare the two and find all differences between the two
directories. ;-)
Regards,
Rob
--001485ecf72c8f9a7f048bd07351--
AW: Compare file/dir size
SGkgUm9iLA0KDQo+IE15IHNvbHV0aW9uIHRvIHRoaXMgd291bGQgYmUgdG8g c2ltcGx5IG9wZW4g
dGhlIGRpcmVjdG9yeSBhbmQgcmVhZCB0aGUgDQo+IGZpbGVzIHRoZW4gdXNp bmcgdGhlIGluZGl2
aWR1YWwgZmlsZXMgKGVhc3kgZW5vdWdoIHRvIGZpbHRlciBvbiANCj4gZXh0 ZW5zaW9ucyBvciB3
aGF0IGV2ZXIgZWxzZSB5b3UgbGlrZSkgY29tcGFyZSB0aGUgZmlsZSBzaXpl cy4NClsuLi5dDQo+
IERvIHRoZSBzYW1lIHdpdGggdGhlIG90aGVyIGRpcmVjdG9yeSBhbmQgY29t cGFyZSB0aGUgcmVz
dWx0cyAoSSB3b3VsZCANCj4gdXNlIGEgaGFzaCBmb3IgZWFjaCBkaXJlY3Rv cnkgd2l0aCB0aGUg
ZmlsZW5hbWUgYXMga2V5IGFuZCB0aGUgc2l6ZSBhcyANCj4gdmFsdWUgdGhl biBpdCBpcyBlYXN5
IHRvIGNvbXBhcmUgdGhlIHR3byBhbmQgZmluZCBhbGwgZGlmZmVyZW5jZXMg DQo+IGJldHdlZW4g
dGhlIHR3byBkaXJlY3Rvcmllcy4gOy0pDQoNClRoYW5rcyBmb3IgeW91ciBp bnB1dC4gU2luY2Ug
Ym90aCBkaXJlY3RvcmllcyByZXNpZGUgb24gZGlmZmVyZW50IHNlcnZlcnMg SSB3b3VsZCBuZWVk
IGEgc29sdXRpb24gc3VpdGFibGUgZm9yIHJleGVjLiBJIGhhdmUgYWxyZWFk eSB0aG91Z2h0IGFi
b3V0IHNvbWV0aGluZyBsaWtlIHdoYXQgeW91IHN1Z2dlc3RlZCwgYnV0IHRo ZW4gSSBkaXNjYXJk
ZWQgdGhpcyBpZGVhIGJlY2F1c2UgaW4gbXkgb3BpbmlvbiBhIHJleGVjIGZv ciBlYWNoIGZpbGUg
dG8gZ2V0IHRoZSBzdGF0IHdvdWxkIG5vdCBiZSBvdmVybHkgZWxlZ2FudCE/ IEknbGwgc3RhbmQg
Y29ycmVjdGVkLi4uDQoNCktpbmQgcmVnYXJkcywNCk5vcmENCg0KDQo+IC0t LS0tVXJzcHLDvG5n
bGljaGUgTmFjaHJpY2h0LS0tLS0NCj4gVm9uOiBSb2IgQ29vcHMgW21haWx0 bzpyY29vcHNAZ21h
aWwuY29tXQ0KPiBHZXNlbmRldDogRGllbnN0YWcsIDIwLiBKdWxpIDIwMTAg MTQ6MDINCj4gQW46
IGJlZ2lubmVyc0BwZXJsLm9yZw0KPiBCZXRyZWZmOiBSZTogQ29tcGFyZSBm aWxlL2RpciBzaXpl
DQo+IA0KPiBPbiBUdWUsIEp1bCAyMCwgMjAxMCBhdCAxOjUxIFBNLCBIQUNL RVIgTm9yYSA8bm9y
YS5oYWNrZXJAc3Rna2suYXQ+DQo+IHdyb3RlOg0KPiANCj4gPiBIaSwNCj4g Pg0KPiA+IE15IGFp
bSBpcyB0byBjb21wYXJlIHR3byBkaXJlY3RvcmllcyBvbiBkaWZmZXJlbnQg c2VydmVycywgd2hl
cmVhcw0KPiBvbmUNCj4gPiBpcyB0aGUgRlRQJ2VkICJjb3B5IiBvZiB0aGUg b3RoZXIsIGJ5IGNo
ZWNraW5nIHdoZXRoZXIgYm90aA0KPiBkaXJlY3Rvcmllcw0KPiA+IGFyZSBv ZiBleGFjdGx5IHRo
ZSBzYW1lIHNpemUuIEkgdHJpZWQgdG8gYWNjb21wbGlzaCB0aGF0IHdpdGgN Cj4gPiBGaWxlc3lz
OjpEaXNrVXNhZ2UsIGJ1dCB1bmZvcnR1bmF0ZWx5IHRoZSB0d28gZGlycyBh cmUgYWx3YXlzIG9m
DQo+ID4gZGlmZmVyZW50IHNpemUgYmVjYXVzZSB0aGUgIi4uIiBkaWZmZXJz LiBBbHNvLCBJIGNv
dWxkbid0IGZpbmQgYSB3YXkNCj4gdG8NCj4gPiByZXN0cmljdCB0aGUgJ2R1 JyBvbmx5IHRvIGNl
cnRhaW4gZmlsZXMgSW4gdGhlIGRpciAoZS5nLiBkdQ0KPiAkZGlyLyouWiks DQo+ID4gb2J2aW91
c2x5IGl0IHdvcmtzIHdpdGggZGlycyBvbmx5Li4uIT8NCj4gPg0KPiA+IEFu eSBoaW50cyBhcHBy
ZWNpYXRlZCA6LSkNCj4gPg0KPiA+IEtpbmQgcmVnYXJkcywNCj4gPiBOb3Jh DQo+ID4NCj4gPg0K
PiA+DQo+ID4NCj4gSGkgTm9yYSwNCj4gDQo+IE15IHNvbHV0aW9uIHRvIHRo aXMgd291bGQgYmUg
dG8gc2ltcGx5IG9wZW4gdGhlIGRpcmVjdG9yeSBhbmQgcmVhZCB0aGUNCj4g ZmlsZXMNCj4gdGhl
biB1c2luZyB0aGUgaW5kaXZpZHVhbCBmaWxlcyAoZWFzeSBlbm91Z2ggdG8g ZmlsdGVyIG9uIGV4
dGVuc2lvbnMgb3INCj4gd2hhdA0KPiBldmVyIGVsc2UgeW91IGxpa2UpIGNv bXBhcmUgdGhlIGZp
bGUgc2l6ZXMuDQo+IE9wZW5pbmcgYSBkaXJlY3RvcnkgaXMgYXMgc2ltcGxl IGFzIG9wZW5pbmcg
YSBmaWxlOg0KPiANCj4gb3BlbmRpciggPGhhbmRsZT4sIDxkaXIgbmFtZT4p IG9yIGRpZSAkITsN
Cj4gd2hpbGUoIGRlZmluZWQgKCBteSAkZmlsZSA9IHJlYWRkaXIgPGhhbmRs ZT4gKSB7DQo+ICBu
ZXh0IHVubGVzcyAkZmlsZSA9fiAvXmJhY2t1cC4qXC5iYWskLyAjIGZpbHRl ciBvdXQgYWxsIGZp
bGVzIHRoYXQgZG8NCj4gbm90DQo+IHN0YXJ0IHdpdGggImJhY2t1cCIgYW5k IGVuZCBpbiAuYmFr
DQo+ICBteSAkZmlsZXNpemUgPSAtcyAkZmlsZTsNCj4gICAjIE9yIGlmIHlv dSBhcmUgb2YgdGhl
IE9PIHB1cnN2YXRpb24NCj4gIHVzZSBGaWxlOjpzdGF0Ow0KPiAgbXkgJGZp bGVzaXplID0gc3Rh
dCgkZmlsZSktPnNpemU7DQo+IH0NCj4gDQo+IERvIHRoZSBzYW1lIHdpdGgg dGhlIG90aGVyIGRp
cmVjdG9yeSBhbmQgY29tcGFyZSB0aGUgcmVzdWx0cyAoSSB3b3VsZA0KPiB1 c2UgYQ0KPiBoYXNo
IGZvciBlYWNoIGRpcmVjdG9yeSB3aXRoIHRoZSBmaWxlbmFtZSBhcyBrZXkg YW5kIHRoZSBzaXpl
IGFzIHZhbHVlDQo+IHRoZW4NCj4gaXQgaXMgZWFzeSB0byBjb21wYXJlIHRo ZSB0d28gYW5kIGZp
bmQgYWxsIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIHR3bw0KPiBkaXJlY3Rv cmllcy4gOy0pDQo+
IA0KPiBSZWdhcmRzLA0KPiANCj4gUm9iDQo=
AW: Compare file/dir size
SEFDS0VSIE5vcmEgPG5vcmEuaGFja2VyQHN0Z2trLmF0PiB3cm90ZToNCj4g VGhhbmtzIGZvciB5
b3VyIGlucHV0LiBTaW5jZSBib3RoIGRpcmVjdG9yaWVzIHJlc2lkZSBvbiBk aWZmZXJlbnQNCj4g
c2VydmVycyBJIHdvdWxkIG5lZWQgYSBzb2x1dGlvbiBzdWl0YWJsZSBmb3Ig cmV4ZWMuIEkgaGF2
ZSBhbHJlYWR5DQo+IHRob3VnaHQgYWJvdXQgc29tZXRoaW5nIGxpa2Ugd2hh dCB5b3Ugc3VnZ2Vz
dGVkLCBidXQgdGhlbiBJIGRpc2NhcmRlZA0KPiB0aGlzIGlkZWEgYmVjYXVz ZSBpbiBteSBvcGlu
aW9uIGEgcmV4ZWMgZm9yIGVhY2ggZmlsZSB0byBnZXQgdGhlIHN0YXQNCj4g d291bGQgbm90IGJl
IG92ZXJseSBlbGVnYW50IT8gSSdsbCBzdGFuZCBjb3JyZWN0ZWQuLi4NCg0K WW91IGNvdWxkIHJ1
biBzaGExc3VtIChvciBtZDVzdW0gb3Igd2hhdGV2ZXIgeW91IGhhdmUpIG9u IHRoZSBsaXN0IG9m
IGZpbGVzIHlvdSB0cmFuc2ZlcnJlZCwgdGhlbiBjb21wYXJ0ZSB0aGUgb3V0 cHV0IG9mIGJvdGgg
cnVucy4NCg0KTWZHLA0KVGhvbWFzIELDpHR6bGVyDQotLSANCkJSSU5HRSBJ bmZvcm1hdGlvbnN0
ZWNobmlrIEdtYkgNClp1ciBTZWVwbGF0dGUgMTINCkQtNzYyMjggS2FybHNy dWhlDQpHZXJtYW55
DQoNCkZvbjogKzQ5IDcyMSA5NDI0Ni0wDQpGb246ICs0OSAxNzEgNTQzODQ1 Nw0KRmF4OiArNDkg
NzIxIDk0MjQ2LTY2DQpXZWI6IGh0dHA6Ly93d3cuYnJpbmdlLmRlLw0KDQpH ZXNjaMOkZnRzZsO8
aHJlcjogRGlwbC4tSW5nLiAoRkgpIE1hcnRpbiBCcmluZ2UNClVzdC5JZDog REU4MTI5MzY2NDUs
IEhSQiAxMDg5NDMgTWFubmhlaW0NCg0KDQo=
Re: Compare file/dir size
2010/7/20 HACKER Nora <nora.hacker [at] stgkk.at>:
> Hi,
>
> My aim is to compare two directories on different servers, whereas one
> is the FTP'ed "copy" of the other, by checking whether both directories
> are of exactly the same size.
Download the source of "rsync" and check them to see how it works for
your purpose.
Regards.
--
Jeff Pang
http://home.arcor.de/pangj/
--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
AW: Compare file/dir size
Thanks for the hint, Jeff - rsync is perfect for my purpose, works great =
:-)
Regards,
Nora
> -----Ursprüngliche Nachricht-----
> Von: Jeff Pang [mailto:pangj [at] arcor.de]
> Gesendet: Freitag, 23. Juli 2010 09:40
> An: HACKER Nora
> Cc: beginners [at] perl.org
> Betreff: Re: Compare file/dir size
>
> 2010/7/20 HACKER Nora <nora.hacker [at] stgkk.at>:
> > Hi,
> >
> > My aim is to compare two directories on different servers, whereas
> one
> > is the FTP'ed "copy" of the other, by checking whether both
> directories
> > are of exactly the same size.
>
>
> Download the source of "rsync" and check them to see how it works for
> your purpose.
>
> Regards.
>
> --
> Jeff Pang
> http://home.arcor.de/pangj/
--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/