rsync出力を日付とタイムスタンプのあるディレクトリにリダイレクトする方法は?

rsync出力を日付とタイムスタンプのあるディレクトリにリダイレクトする方法は?

rsync日付と時刻のスタンプを含む特定のディレクトリに出力をリダイレクトしたいと思います。

例:rsync -r source-dir dest-dir/current-date-time

「現在の日付時刻」フォルダを自動的に作成する方法はありますか?
私の主な目標はcronジョブでコマンドを実行することで、ターゲットrsync(日付と時刻を含む)の下の複数のディレクトリに出力を保存したいと思います。

rsync単一のコマンドでこれを達成できますか?

-t変更時間が保存されて使用できることがわかっていますが、rsync -avH -t <source> <dest>宛先にディレクトリ(日付と時間を含む)を作成できますか?

答え1

私が知る限り、rsyncコマンドでディレクトリを作成することは不可能です。

しかし、次のように単純なbashスクリプトを書くのはどうですか?

#!/bin/bash
myDate="$(date +%F)"
mkdir -p "dest-dir/$myDate"
rsync -r source-dir dest-dir/"$myDate"
exit 0

答え2

次のコマンドを使用できます。

rsync -avH <source> <dest>/"$(date +'%Y-%m-%d-%H-%M-%S')"/

コマンド置換()は、現在の日付と時刻に新しいディレクトリ名を生成する$(...)ために使用されます。<dest>

<source><dest>/<current_date-time>/コピーしたい場合は、上記のコマンドが機能します。コンテンツ使用<source>:

rsync -avH <source>/ <dest>/"$(date +'%Y-%m-%d-%H-%M-%S')"/

(関連内容は/後で出ます<source>)。

で述べたようにあなたは異なる答えを持っています、いくつかの実装がありますdate(例:牛に似た一種の栄養date)、%F書式指定子は「ISO書式の日付」に使用できるため、と省略されます'%Y-%m-%d'%FPOSIXこのdateユーティリティの場合(ただし、多くのdate実装では次の形式に依存するため、この形式文字列を使用できます。strftime()、これをサポートします)。

関連情報