Управление еженедельными резервными копиями

Linux: command | tee logfile

Windows: Установите cygwin, затем работайте: command | tee logfile

1
задан 3 December 2011 в 14:18
3 ответа

дата может помочь вам определить правильное имя файла 7-дневной давности:

$ date -I
2011-12-03
0 thorsten@moppel:~
$ date -I -d '7 days ago'
2011-11-26
1
ответ дан 4 December 2019 в 01:19

Используйте следующий сценарий для ротации резервных копий через N дней:

#!/bin/bash
if [ "$#" == "0" ];then
  echo "$0 upper-limit path {command}"
  exit 1
fi
### SSH Server setup ###
SSH_USER="vivek"
SSH_SERVER="nas.nixcraft.in"
START=7
DIR_FORMAT="%d-%m-%Y" # DD-MM-YYYY format
#DIR_FORMAT="%m-%d-%Y" #MM-DD-YYYY format
## do not edit below ##
LIMIT=$( expr $START + $1 )
## default CMD ##
CMD="ls"
SSH_PATH="."
[ "$3" != "" ] && CMD="$3" || :
[ "$2" != "" ] && SSH_PATH="$2" || :
DAYS=$(for d in $(seq $START $LIMIT);do date --date="$d days ago" +"${DIR_FORMAT}"; done)
for d in $DAYS
do
  ssh ${SSH_USER}@${SSH_SERVER} ${CMD} ${SSH_PATH}/$d
done

Этот сценарий требует некоторых изменений, я взял его отсюда.

http: // www.cyberciti.biz/tips/ssh-rotate-backup-shell-script.html

Вы можете прочитать всю статью, чтобы понять ее и изменить в соответствии с вашими потребностями.

Помимо всего этого, я бы порекомендовал использовать Rsnaphot или Bacula для автоматического резервного копирования и восстановления.

0
ответ дан 4 December 2019 в 01:19

Если вам нужно только 7 дней резервного копирования, вы можете использовать "название дня недели" (% A или% a) или номер "дня недели" (% w) с датой и позволить Загрузка S3 заменяет файл прошлой недели.

FILENAME=$(date '+%A.sql')
mysqldump > $FILENAME
0
ответ дан 4 December 2019 в 01:19

Теги

Похожие вопросы