助田です。

ディレクトリ内にあるファイルの有無、サイズの違い、ファイル
の作成日の違いを比較するスクリプトです。
dir1 と dir2 のファイルの有無のチェックは
cmpdir 1 dir1 dir2      

host1 の dir1 とローカルホストの dir2のファイルの有無のチェック
とファイルサイズのチェックは
cmpdir 2 host1:dir1 dir2 

という感じで使います。
LOGIN は、適宜設定してください。

制限:
・ファイルの比較しかしない。
・再帰的に比較しない。
・ftplib.rb の FTP クラスに以下のメソッドを追加しないといけない。

   def mdtm(filename)
     resp = sendcmd("MDTM " + filename)
     if resp[0, 3] == "213"
       return resp[3 .. -1].strip
     end
   end

begin 644 cmpdir.rb.gz
M'XL("++PYS0``V-M<&1I<BYR8@"55FU/Y#80_DQ^Q9`*;;8*UB;`M470.]1;
M$!)WAWBI5&U7*"1>UKJ\;&/O<?3@OW<\=A)G@57)A\0SGF?>XW'-_UF*FL-@
MIA:YN!UXWMF7D]//<`@_/(#!O)(J&L#A[S`9+"6OHT$(@T4BY7U59]%@&C9"
ML2,4NT+Q8.H]>5[&9["H1:FN97+'$44$'!Q<7QZ=C&_&7XX]+RT6F:A9?0O;
MV]OP1_7I/$'//IY>\%15]0."@*3Q"_L`G7C.O_$<)N3L_A29D2%B(F)/(VDS
MI$],^O4*RJ30S@!A0OV)@79Q9:RV(L:(?;1(!%4-L7[MZ->N?NUYT'_NY[RT
M4"$!'4CG//T*,Y%SS>#?A53K,7$/(\6_?+W\3B.?)QA@465B)M)$B:J$!Y[4
MZ\&[KX.+JE3S]>B]U]%9HKCG=<7F988%1SD)QZ=G8]2;*%7#/L6'E.Z7UMT/
MA1(%9Y8FJ)%`G[P-NZO7_<TL>>AV-=';%J50(LG17J!+'%)J0R#QH3&K^8"_
M0M,"\$'+:$Y;!J,>.?3M6Y`(N]&2[P-=NZ&CXO"0RLFLGE60CM0%:;K%/$\#
M8:@^+@@9+>99<@B".>D!D.X07<(`+(B*R[/W)A!+]?5VS$X"LW-U<3U^P0$2
M(`]"TT7&$5=)S=6R+D',;)NA?Q%MB.<)UIO'1V>78]NF=,9\DG>!_S,^?F@J
M&H)?5HK`5$?8W-STAQ9BS!%A0G_1@[CG / 5.MM1Z\Y`!5]LWV=WKVW<JO<P#M
M-PXX'A#Z[2[L]ESH.FF-`WYHK'>V$?:Z66H6>K7#0^LA#T(P<13R;M@,DUG@
M;^VQ/0E;V_&(Q2.)0V)+_EWZMK=ZF%9O7J5)?H:G<(!'OM:EH[C4\^\)"?R#
M8(3?CSAHTCE*-%*:,:MJGJ3SP&?^$+(*'H7BQ6.3EV/]%\W4PX('FD^)\;5R
MW]L@&Q/-GJ(!?0"RDM^37&B`NC$-SC+H?#&<X4J2VOJ0VBZTFA>5XA2;'G8T
MWIY%6-,<1">NSLD'(TF7`)JAT\EHVJ>CZ;#!]7/2),MLE3F^='Y64G/+[T0)
M3=%)]%LELK3(`O_JK_,QG+8M88Y**]1EQ+:D3)?<VT"S_+OJ=:LJ6E"1J<(!
M-8?UE1X)5/E`%9,18SL8(ZYV&=LSJW>,_6)6OS+VFUE%*!A%=AWC>F=JU*XM
MY\I8L04SV<LKR5\MGR:I>%)1>C7D!E.MQX^JF<3[F@K\?<H6]ENSS9H!$[N_
M[DHO:$$J;$N8JO)<<A?6_1T.J@F#/$7+1Q<G?QJK!W0R]>YY>,-1P<C^<'2P
MVR/$PN9BIIBJ;H27W#B->>L2WF*I)/B^_:95L<";84,V=Y&??FB-Z-_3*SN1
MWG',M`FVN*%CM;^GD],`V5?^()FL:J>[D?5HJF`U3)`S->WN,)@S]!*';Z]-
M[01LJ]`?8/H`1W$[/F;5LLSP%N-&UZO,[?_Q=[/G7S/@X<W61RO6_P/G1,S@
$6`P``-`?
`
end