2011-08-17 14 views
1

ファイルシステムのパス(/home/user01/myapps/)で追加/更新されたファイルまたはフォルダを、2つの異なる時刻(スクリプトの開始時刻と終了時刻) 。更新された新しく追加されたファイル/フォルダを見つけるためのUnixコマンド

私は、新しいソースファイルをリソースパス/home/user01/myapps/に更新/追加するためにシェルスクリプトを実行しています。だから、スクリプトの最後に、追加または更新されたファイルやフォルダのリストを知りたい。

私は、以下のコマンドを

検索は/ opt /アプリ/ TDS/tdsbatchの-mtime -1

を持っている。しかし、私は時間を実行しているスクリプトについて確認していません。

本当に助けてください!あなたのニーズに応じて

# record the current time in seconds on script startup 
start_time=$(date +%s) 
... 
# do whatever you like 
... 
# to get the runtime in secods - if you like: 
runtime=$(($(date +%s) - start_time)) 
# to get the runtime in minutes (minutes are useful for -mmin find param) 
runtime=$((($(date +%s) - start_time)/60)) 
... 
# to record the finish time in seconds: 
end_time=$(date +%s) 

と今find:どんな希望の瞬間に時間を記録するために

+0

あなたは何をしていますかn 'スクリプトの実行時間についてはわかりません。'質問を更新して、必要なサンプル出力を含めてください。がんばろう。 – shellter

答えて

4

find /path \(-mmin $((-($(date +%s) - start_time)/60)) \ 
    -a $((($(date +%s) - end_time)/60)) \) 
  • ような何か最初-mmin引数は後modifed を指定します(現在の時刻 - スクリプトが開始時刻) - スクリプトの終了時間分戻って今
  • からの第二-mminの引数は、(現在の時間の前に変更さを指定します)分後に戻る
  • 両方とも-aパラメータと一緒に使用され、接頭辞のかっこで囲まれています。

あなたはおそらくこれらと一緒にすることができます。それ以外の場合、私はあなたのニーズについてより明確にする必要があります。

+0

偉大な仕事の男、ありがとう! –

0

既存のファイルにtouchコマンドを使用するか、ダミーファイルを作成することができます。

スクリプト

タッチファイル名1を開始 - それはあなたが以下のコマンドを使用することができ、スクリプトの最後で

そして、現在の時刻にファイル名1のタイムスタンプを変更します:ファイル名1 -newer

検索ディレクトリ名

これは、そのディレクトリ内のファイル名1のタイムスタンプの後に変更または作成されたすべてのファイルを指定します。

関連する問題