#想定読者
- まだまだshellとかcronとか書く経験があまりないかた
- dateコマンドがうまくいかねーーーーと発狂しそうなかた(一番下の章だけお読みください)
dateコマンド
バックアップファイル作成時なんかに使用するdateコマンド(今回はLinuxのみ対象にしています。動作確認したのはCentOS系のみ)
コマンド
# date +%Y%m%d
20181031
よくやりますよね。
cp とdateコマンドの合わせ技
個人的にかっこいいと思ってる小技
コマンド
# cp messages messages-`date +%Y%m%d`
# ls -la | grep messages
-rw-------. 1 root root 574762 Oct 31 10:01 messages
-rw-------. 1 root root 574762 Oct 31 10:04 messages-20181031 <-cpで作成されたファイル
ポイントはdateコマンド前後の ` `です。
` `ないと悲しいことになります。
本題のcronでの使用時
まずコマンドでcrontab -e を叩きます。
日時指定部分は今回は一切関係ないので省きます
cron
cp /var/log/messages var/log/messages-`date "+\%Y\%m\%d"`
伝わりづらいのですが、dateの前後
と%
の前を見てください。
・ ` と"を使用
・ %の前に\
を使用
この2つくらいの気遣いがないとうまくいかないです。