![バックアップ ロジック (下記のスクリプト) をループする方法を説明していただけますか。](https://rvso.com/image/1672331/%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%20%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%20(%E4%B8%8B%E8%A8%98%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88)%20%E3%82%92%E3%83%AB%E3%83%BC%E3%83%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%E3%80%82.png)
以下のロジックをループする方法を教えてください。このロジックは毎週実行する必要があります。例: 1 週目にソース フォルダーに stack.txt、webmethods、profiles というファイルとフォルダーがあるので、ロジックを実行すると、これらすべてのファイルが宛先フォルダーにバックアップされます。2 週目にソース フォルダーに追加のディレクトリ (Kafka など) が追加されるので、ロジックを実行すると、完全にバックアップされるのではなく、増分バックアップのように新しく追加されたものだけがバックアップされるようになります。
#!/bin/bash
# What to backup.
Integrationserver="/home/ec2-user/source"
# Where to backup to.
dest="/home/ec2-user/destination"
# Create archive filename.
#date=$(date +%F)
IS=source
hostname=$(hostname -s)
#archive_file="$hostname-$IS-$date.tar.gz"
archive_file="$hostname-$IS.tar.gz"
# Print start status message.
echo "Backing up $Integrationserver to $dest/$archive_file"
date
echo
# Backup the files using tar.
tar --exclude=/home/ec2-user/source/logs* --exclude=/home/ec2-user/source/TC* -zcf $dest/$archive_file $Integrationserver
# Print end status message.
echo
echo "Backup finished"
date
答え1
設定された時間に複数回実行するには、cron またはディストリビューションの同等のものを使用する必要があります。
tarファイルで増分を実行する場合は、--listed-incrementalを使用する必要があります。
少し複雑なので、要約した記事をリンクしておきます。
https://linuxconfig.org/how-to-create-incremental-and-differential-backups-with-tar