Solusi 1:
Solusinya, seperti semua hal lainnya, adalah skrip perl:
#!/usr/bin/perl
use File::Find;
my $directory1 = '/tmp/temp1';
my $directory2 = '/tmp/temp2';
find(\&hashfiles, $directory1);
sub hashfiles {
my $file1 = $File::Find::name;
(my $file2 = $file1) =~ s/^$directory1/$directory2/;
my $mode1 = (stat($file1))[2] ;
my $mode2 = (stat($file2))[2] ;
my $uid1 = (stat($file1))[4] ;
my $uid2 = (stat($file2))[4] ;
print "Permissions for $file1 and $file2 are not the same\n" if ( $mode1 != $mode2 );
print "Ownership for $file1 and $file2 are not the same\n" if ( $uid1 != $uid2 );
}
Lihatlah http://perldoc.perl.org/functions/stat.html dan http://perldoc.perl.org/File/Find.html untuk info lebih lanjut, khususnya stat
satu jika Anda ingin membandingkan atribut file lainnya.
Jika file tidak ada di direktori2 tetapi ada di direktori1, juga akan ada keluaran karena stat
akan berbeda.
Solusi 2:
Temukan dan stat:
find . -exec stat --format='%n %A %U %G' {} \; | sort > listing
Jalankan itu di kedua direktori lalu bandingkan kedua file daftar tersebut.
Menyelamatkan Anda dari kejahatan Perl...
Cara setting shmall, shmmax, shmmin, dll.. secara umum dan untuk postgresql
Sistem CentOS /usr/local/lib $LD_LIBRARY_PATH?