スクリプトを使用して作成されたフォルダの修正タイムスタンプが正しくありません。

スクリプトを使用して作成されたフォルダの修正タイムスタンプが正しくありません。

次のスクリプトがあります。

#------------------------ SETTINGS
FOLDER_NAME="$(date '+%Y_%b_%d')"
LOG_PATH=/home/alex/logs/backup-seafile-$FOLDER_NAME.log
DIR_PATH=/mnt/data/Backups/Seafile
FOLDER_PATH=$DIR_PATH/$FOLDER_NAME

echo "--------------------------------------------" >> $LOG_PATH
echo "[$(date '+%Y %b %d %H:%M:%S')] Running Seafile backup" | tee -a $LOG_PATH

echo "[$(date '+%Y %b %d %H:%M:%S')] Deleting old backups..." | tee -a $LOG_PATH
#find $DIR_PATH/* -type d -ctime +7 -print -exec rm -rf {} \; >> $LOG_PATH

echo "[$(date '+%Y %b %d %H:%M:%S')] Stopping seafile..." | tee -a $LOG_PATH
/opt/seafile/seafile-server-latest/seafile.sh stop
/opt/seafile/seafile-server-latest/seahub.sh stop

echo "[$(date '+%Y %b %d %H:%M:%S')] Collecting garbage..." | tee -a $LOG_PATH
/opt/seafile/seafile-server-latest/seaf-gc.sh

echo "[$(date '+%Y %b %d %H:%M:%S')] Creating backup folder..." | tee -a $LOG_PATH
mkdir $FOLDER_PATH

echo "[$(date '+%Y %b %d %H:%M:%S')] Databases..." | tee -a $LOG_PATH
mysqldump -h localhost -uUSER -pPASSWORD --opt ccnet-db > $FOLDER_PATH/ccnet-db.sql
mysqldump -h localhost -uUSER -pPASSWORD --opt seafile-db > $FOLDER_PATH/seafile-db.sql
mysqldump -h localhost -uUSER -pPASSWORD --opt seahub-db > $FOLDER_PATH/seahub-db.sql

echo "[$(date '+%Y %b %d %H:%M:%S')] Data..." | tee -a $LOG_PATH
rsync -azv --progress /mnt/data/seafile/ $FOLDER_PATH | tee -a $LOG_PATH

echo "[$(date '+%Y %b %d %H:%M:%S')] Starting seafile..." | tee -a $LOG_PATH
/opt/seafile/seafile-server-latest/seafile.sh start
/opt/seafile/seafile-server-latest/seahub.sh start

echo "[$(date '+%Y %b %d %H:%M:%S')] Backup Complete!" | tee -a $LOG_PATH

私は最近フォルダが1つしかないことを知り、すべてのバックアップの過去の日付に同じタイムスタンプがあったため、コメントアウトされた行が削除されたことに気づきました。この日付をどこから取得したのか、どのように変更するのかわかりません。 mkdir を実行すると、通常は正しい日付のフォルダが作成されます。何を提供しますか?

ベストアンサー1

ライン

rsync -azv --progress /mnt/data/seafile/ $FOLDER_PATH

タイムスタンプは にリセットできますseafile

touch $FOLDER_PATHこの問題は後で解決できますrsync

おすすめ記事