[ホーム] - [Redhat Linux 7 FAQ 一覧] - [テスト用に連続した日付の編集日のファイルを生成する]



テスト用に連続した日付の編集日のファイルを生成する

環境:Redhat Enterprise linux 7(EL)




目的


テスト目的で最終編集日が連続したファイルを生成する方法を紹介します。"最終編集日をチェックしてファイルを削除する機能"をテストする場合などに活用してください。
例えば n 日間経過したログファイルを自動で削除するスクリプトを開発した場合、テスト用に連続した編集日のファイルを生成するスクリプトを作成する必要があります。このようなケースで使用してください。

シェルの仕様


bash のブレース展開という機能を使用しています。{from..to..step} の間をループ的に使用できる便利な機能です。
今日の日付、時刻のファイル名のファイルを作成するには以下のコマンドを使用しています。


touch $(date '+%Y%m%d_%H%M%S')




for i in {01..30}
do
touch -t "10"$i"0000" /tmp2/$i.txt
#echo $i
done





以下は10月1日から10月30日までの毎時、5分毎のファイル名、および最終編集時間でファイルを生成します。

for day in {01..30}
do
for hour in {00..23}
do
for minute in {00..55..5}
do
touch -t "10"$day$hour$minute /tmp2/"10"$day$hour$minute.txt
done
done
done



touch コマンドのエラー


以下のエラーが出力される場合は日付の書式が誤っていると思われます。 -t の場合は MMDDhhmmと YYYYが不要な点に注意してください。


touch: `201810': 無効な日付の書式です










(*)本ページは CentOS 7.2以後を想定しています。

最終更新日:2018/11/21



[ホーム] - [ Redhat Linux 7 FAQ 一覧]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018