特定のディレクトリにログファイルがあります/A
。ファイルのファイルを更新すると、ファイル全体を/B
書き換えることなくファイルのファイルも更新されることを考慮すると、ディレクトリの同じ内容を保持することは可能ですか?/A
/B
答え1
定期的なアップデートが利用可能な場合は、次のものを使用できますrsync --append
。
rsync --append source destination
--append This causes rsync to update a file by appending data onto the end of the file, which presumes that the data that already exists on the receiving side is identical with the start of the file on the sending side.
十分でない場合は、この--append-verify
オプションを試すこともできます。
答え2
私はそれを試していませんが、うまくいくはずtail -fn+0
です。これはプレーンテキストファイルであるログで機能します。ログを生成するプログラムは次のようにする必要があります。追加ファイルとして。
(ファイルに保存copylog.sh
)
#!/bin/bash
## This script reads log $1 and saves copy to $2
# Usage: copylog.sh source dest
tail -fn+0 "$1" > "$2"
次に、実行./copylog.sh /var/log/log-1 /home/user/log.txt
してログ/var/log/log-1
を/home/user/log.txt
。