NAS에서 : 매일 변경 파일을 Tar 로 원격지에 적재 / 일자를 정한 날짜를 원격지 적재
매일 변경된 내용을 Tar 원격지에 적재
meta 시스템의 파일을 공유
#!/bin/sh
export FinalBackupCnt=5
export FinalBackupDueDay=60
export BaseBackupTarget=$1
export BackupTargetYear=`date +%Y --date="1 days ago"`
export BackupTargetMonth=`date +%m --date="1 days ago"`
export BackupTargetDay=`date +%d --date="1 days ago"`
export NOW=`date +%Y%m%d%H%M`
export DestinationBackupFolder=$2
export DestinationRemoteBackupFolder=$3
# Make Backup file
MakeBackUp()
{
echo -n "\n ### Start Archiving folder ###"
echo "Backup date is " $NOW
echo "Base backup folder is " $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay
echo "tar cfP $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay"
tar cfP $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay
}
# Copy to Remote Backup Server
CopyRemoteServer()
{
echo -n "\n ### Start Copy Remote Server ###"
echo "Target Server 192.168.0.10 "
echo "scp $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar hyunsu@192.168.0.10:/data/ext/4TB/backup/NAS"
scp $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar hyunsu@192.168.0.10:$DestinationRemoteBackupFolder
}
# Delete Backup File
ClearBackupFile()
{
echo -n "\n ### Delete Back file ###"
echo "Delete backup file = $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar "
rm -rf $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar
}
if [ $# -ne 3 ];then
echo "ERROR 1.target backup folder, 2. base folder parameters 3. remote backup folder!"
echo " ex : /data/shared/remoteBackupDaily.sh /data/shared/meta /home/hyunsu /data/ext/4TB/backup/NAS/meta"
exit 1
fi
echo -n "\n\n"
echo "=========== Backup START ! =============\n"
echo ">> Backup Base Folder : $BaseBackupTarget"
echo ">> Backup Target Folder : $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay"
echo ">> Backup Destination : $DestinationBackupFolder"
echo ">> Backup Remote Destination : $DestinationRemoteBackupFolder"
echo ">> DATE : $NOW"
if [ -d $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay ]; then
echo "EXIST"
MakeBackUp
CopyRemoteServer
ClearBackupFile
else
echo "NOT EXIST --> " $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay
fi
echo -n "\n =========== Backup FINISHED ! =============\n\n"
메뉴얼하게 일자를 정할 때
#!/bin/sh
export FinalBackupCnt=5
export FinalBackupDueDay=60
export BaseBackupTarget=$1
export BackupTargetYear=$4
export BackupTargetMonth=$5
export BackupTargetDay=$6
export NOW=`date +%Y%m%d%H%M`
export DestinationBackupFolder=$2
export DestinationRemoteBackupFolder=$3
# Make Backup file
MakeBackUp()
{
echo -n "\n ### Start Archiving folder ###"
echo "Backup date is " $NOW
echo "Base backup folder is " $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay
echo "tar cfP $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay"
tar cfP $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay
}
# Copy to Remote Backup Server
CopyRemoteServer()
{
echo -n "\n ### Start Copy Remote Server ###"
echo "Target Server 192.168.0.10 "
echo "scp $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar hyunsu@192.168.0.10:/data/ext/4TB/backup/NAS"
scp $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar hyunsu@192.168.0.10:$DestinationRemoteBackupFolder
}
# Delete Backup File
ClearBackupFile()
{
echo -n "\n ### Delete Back file ###"
echo "Delete backup file = $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar "
rm -rf $DestinationBackupFolder/meta-$BackupTargetYear-$BackupTargetMonth-$BackupTargetDay.tar
}
if [ $# -ne 6 ];then
echo "ERROR 1.target backup folder, 2. base folder parameters 3. remote backup folder!"
echo " ex : /data/shared/remoteBackupDaily.sh /data/shared/meta /home/hyunsu /data/ext/4TB/backup/NAS/meta 2024 9 3"
echo " ex : /data/shared/remoteBackupDaily.sh /data/shared/backup/meta /home/hyunsu /data/ext/4TB/backup/NAS/backup/meta 2024 9 3"
exit 1
fi
echo -n "\n\n"
echo "=========== Backup START ! =============\n"
echo ">> Backup Base Folder : $BaseBackupTarget"
echo ">> Backup Target Folder : $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay"
echo ">> Backup Destination : $DestinationBackupFolder"
echo ">> Backup Remote Destination : $DestinationRemoteBackupFolder"
echo ">> DATE : $NOW"
if [ -d $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay ]; then
echo "EXIST"
MakeBackUp
CopyRemoteServer
ClearBackupFile
else
echo "NOT EXIST --> " $BaseBackupTarget/$BackupTargetYear/$BackupTargetMonth/$BackupTargetDay
fi
echo -n "\n =========== Backup FINISHED ! =============\n\n"