Net::SFTP を使用してファイルの変更日を取得する簡単な方法はありますか?
これができるといいですね:
Net::SFTP.start('some_server') do |sftp|
sftp.dir.glob('*').each do |file|
puts file.mtime
end
end
しかし、それは不可能です(私の知る限り)。
バーンズ。
Net::SFTP を使用してファイルの変更日を取得する簡単な方法はありますか?
これができるといいですね:
Net::SFTP.start('some_server') do |sftp|
sftp.dir.glob('*').each do |file|
puts file.mtime
end
end
しかし、それは不可能です(私の知る限り)。
バーンズ。
サンプルコードはほぼそこにあります。必要なのfile.attributes.mtime
は、持っていた場所だけですfile.mtime
。
また、質問のコードは単なる例だと思いますが、それを実行するには、ユーザー名とパスワードをstart
に渡し、パスとパターンをに渡す必要がありますglob
。したがって、実際の例は次のようになります。
Net::SFTP.start('some_server', 'mike', :password => 'secret') do |sftp|
sftp.dir.glob('.', '*').each do |file|
puts file.attributes.mtime
end
end
によって返される値はmtime
、エポックからの秒数になるため、Time.atに渡してオブジェクトに変換することをお勧めしTime
ます。
興味がある場合は、同じ方法で使用できる他の属性は次のとおりです。
permissions
uid
gid
size
atime
(最終アクセス時刻)