基本的に次のようなcronジョブがあります。
*/3 * * * * ruby myscript.rb > /my/location/file.txt
myscript.rb は基本的に次のようになります。
#!/usr/bin/env ruby
sleep(120)
puts "Hello"
したがって、3 分ごとに、STDOUT に書き込む前に 2 分間実行されるスクリプトを実行しています。(実際には、myscript.rb は大量の HTTP リクエストを作成しており、スリープ状態ではありません。私の疑いでは、重要なのは時間です。)
奇妙な結果は、一定の割合で /my/location/file.txt が空になることです。
スクリプトが開始され、ファイルが空になり、スクリプトが最後に到達したときにのみ、ファイルにデータが書き込まれるように見えます。
ただし、これは *nix リダイレクトの仕組みではありませんよね?