% date Sun Oct 1 00:08:38 JST 2017 % date -j -f "%a %b %d %T %Z %Y" "`date`" "+%y%m%d%H" 17100100
で、FreeBSD snapshot manager を使っていると、zfs のスナップショットを世代番号で作ってくれるのですが、何時のものなのかが、ちょっとわかりにくい。実際は、こう書けば日付が出てくるわけです。
% zfs get creation zfspool/home@daily.0 NAME PROPERTY VALUE SOURCE zfspool/home@daily.0 creation Sun Oct 1 0:00 2017 - % zfs get -H -o value creation zfspool/home@daily.0 Sun Oct 1 0:00 2017 % zfs get -H -o value creation zfspool/home@daily.1 Sat Sep 30 0:00 2017
ってことは、
% date -j -f "%a %b %d %T %Y" "`zfs get -H -o value creation zfspool/home@daily.0`"+%y%m%d%H" 17100100 % date -j -f "%a %b %d %T %Y" "`zfs get -H -o value creation zfspool/home@daily.1`"+%y%m%d%H" 17093000
なんて具合に日付文字列を取り出せるわけです。FreeBSD snapshot manager と zfs send で差分バックアップしたい、でもファイル名をどうしたらいいか分からない、と悩んでいたんですが、これで何とかなりそう。
ちなみにLANGがC以外だと…
% setenv LANG ja_JP.UTF-8 % date 2017年 10月 1日 日曜日 00時23分52秒 JST % date -j -f "%a %b %d %T %Z %Y" "`date`" "+%y%m%d%H" Failed conversion of ``2017年 10月 1日 日曜日 00時23分54秒 JST'' using format ``%a %b %d %T %Z %Y'' date: illegal time format usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]] [+format] % setenv LANG C % date Sun Oct 1 00:24:06 JST 2017 % date -j -f "%a %b %d %T %Z %Y" "`date`" "+%y%m%d%H" 17100100
まあ、こんなもんです。
0 件のコメント:
コメントを投稿