02.Linuxの小技(kowaza)

日時をファイル名に付けよう!

■ 日時をファイル名に付けよう!
Linuxサーバーを使っていると、ファイルをバックアップをする時や、ファイル名を別名にするときに、いつ、その作業をしたのか、わからなくなる時とかありませんか?
例えば、
「設定ファイルを変更したけど、いつ変更したっけ?」
「このファイルをバックアップしたのはいつだっけ?」
という具合にです。
Linuxを使っていると、1度や2度必ず、そうゆう場面に出くわします。


そこで、一目でいつ、そのファイルを変更したがかわかると、とても便利ですよね?
実は、サーバー管理をするうえでファイルの日付管理はとても大切な事なんですよ。
実際、私の働いている現場では、設定ファイルを変更すると、変更前のファイルは削除しないで、必ず保存しておくルールになっています。
それは、設定を変更した事によって、何かトラブルが起きても、すぐに元に戻せるようにする為です。
その時の決まりとして、変更前の設定ファイルには、変更当日の日付をつけて、管理するという決まりまであります。
具体的に言うと、
        『 ファイル名 + 日付 』
という形式で、ファイル名に日付をつけて、バックアップをするわけです。
だから、過去に何度も設定を変更しているファイルは、日付だけが違うファイルがいくつもあります(笑)
そのくらい、日付管理は大切ですので、今日のテクニックはぜひ覚えてください。きっと、この他の場面でも色々と役に立つと思いますよ。
でも、単純に「mv」コマンドで、直接自分でファイル名に日付をつけても面白くないので、今日は、コマンドでファイル名に日付をつける方法を紹介します。
■ mvコマンドが何?という方はこちら
http://linux-topics.com/01top/archives/2005/08/post_3.html
日付を表示するコマンドは「 date 」コマンドを使います。試しに実行してみましょう!
—- 実行例 —————————————-
$ date
2004年 8月 26日 木曜日 21:01:35 JST
—————————————————-
日付が表示されました。
これを↓のように実行してください。
—- 実行例 —————————————–
$ date +%y%m%d
040826
—————————————————-
どうですか?「2004年 8月 26日」が「040826」になりましたか?
じゃあ、早速これをファイル名に付けてみましょう!
—- 実行例 —————————————–
$ touch file_test.txt ←touchコマンドで「file_test.txt」ファイルを作ります。
$ ls -l         ←ファイルの情報を表示します
-rw-r–r– 1 pakira pakira 0 8月 26 05:50 file_test.txt
—————————————————-
—- 実行例 —————————————–
$ mv file_test.txt file_test.txt_`date +%y%m%d` ←コマンドを実行します
$ ls -l        ←ファイル名が変わっているか確認します
-rw-r–r– 1 pakira pakira 0 8月 26 05:50 file_test.txt_040826
—————————————————-
どうです?
上の様にファイル名に、実行した当日の日付が追加されましたか?
「file_test.txt」ファイルが「file_test.txt_040826」のようになれば成功です。
ファイル名の後ろに「`date +%y%m%d`」をつけると、日付をファイル名に付けることができます。
でも、、、、。
コマンドの度に「`date +%y%m%d`」と入力していたら、かえって面倒ですよね(^^;;
「それなら、mvコマンドでやるよ」っていわれてしまいそうです(汗
大丈夫!もっと簡単に出来る方法を『 次回 』紹介しますので楽しみにしていてくださいね!