バックアップのファイル名に"backup_20180115_1200.txt"のように日時情報を付けるケースは良くあります。 そのような日時情報を持ったファイル名の作成では、dateコマンドを使用します。
dateコマンドを使って変数を定義する場合は以下のようになります。
date [オプション] [フォーマット]
コマンドラインで以下のように入力して実行すると。
date +%Y-%m-%d以下のように年月日が表示されます。
2018-02-01
フォーマットで日時指定によく使うものは以下になります。
| %Y | 西暦の年4桁 | 
| %y | 西暦の年の下2桁(00..99) | 
| %m | 月2桁 (01..12) | 
| %d | 日2桁 (01..31) | 
| %H | 時間2桁 (00..23) | 
| %M | 分2桁 (00..59) | 
| %S | 秒2桁 (00..59) | 
| %s | Unix time (1970-01-01 00:00:00 UTC からの秒数) | 
現在の日時
現在の日時をファイル名に使用するサンプル
- 
                年を4桁、月日時分秒を2桁の数値
年を4桁、月日時分秒を2桁の数値で連続して表示する場合、以下のようにします。
#!/bin/bash FNAME=backup_`date +%Y%m%d%H%M%S`.bak echo $FNAMEこれを実行すると、結果は以下のようになります。
backup_20180122191718.bak
年月日と時分秒との間にアンダーバーやハイフンを入れる場合は、以下のようにします。
#!/bin/bash FNAME=backup_`date +%Y%m%d_%H%M%S`.bak echo $FNAMEこれを実行すると、結果は以下のようになります。
backup_20180122_191718.bak
年月日時分秒を2桁の数値
年月日時分秒を2桁の数値で連続して表示する場合、以下のようにします。 2桁の年は%yを指定します。
#!/bin/bash FNAME=backup_`date +%y%m%d%H%M%S`.bak echo $FNAMEこれを実行すると、結果は以下のようになります。
backup_180122191718.bak
年月日と時分秒との間にアンダーバーやハイフンを入れる場合は、以下のようにします。
#!/bin/bash FNAME=backup_`date +%y%m%d-%H%M%S`.bak echo $FNAMEこれを実行すると、結果は以下のようになります。
backup_180122-191718.bak
ユニックスタイム
ユニックスタイムの場合は、"%s"を指定します。
#!/bin/bash FNAME=backup_`date +%s`.bak echo $FNAMEこれを実行すると、結果は以下のようになります。
backup_1517492706.bak