
/kit/bkp
ファイルは5分ごとに/ kitディレクトリに作成されます。すべてのファイルを圧縮し、2時間ごとにそのファイルをディレクトリに移動したいと思います。
答え1
find your_path -t f -mmin 5 -exec tar -zcvf your_compress_file.tar.gz {} +
スクリプトを作成して保存できますcrontab
。
答え2
スクリプトを作成し、クローンジョブまたはシステムタイマーとして実行するように設定します。tar
スクリプトに適切なコマンドを含め、tarの除外フラグを使用して/tar/bkp
フォルダをtaringしないようにします。find
このフラグと組み合わせて使用すると、-mmin 120
圧縮ファイルを過去120分以内に変更されたファイルに制限できます。
たとえば、
#!/bin/bash
source='/kit'
dest='/kit/bkp'
find "${source}" -mmin 120 -exec \
tar cpf "${dest}/$(date +'%Y%m%d%H').tar" --exclude="${dest}" {} +
スクリプトはExecuteを使用し、/bin/bash
ソースとターゲットのパスを定義し、過去120分以内に変更されたファイルのみを選択し、ターゲットフォルダにyear-month-day-hourという名前のtarファイルを作成して権限と所有権を維持し、ターゲットフォルダ。
次に、読み取りおよび実行権限...書き込み、読み取りおよび実行権限...そして、以前に作成したスクリプトに対する読み取りおよび実行権限を持つcrontab -e
ユーザーとして入力します。 cron ファイルに次の行を追加します。/kit
/kit/bkp
0 */2 * * * /path/to/your/script.sh > /dev/null
これは、2時間ごとにスクリプトを実行し、stdoutをパイプして/dev/null
エラーが発生しない限り、スクリプトを自動的に維持します。エラーが発生した場合、Cronはメッセージを送信する必要があります。