2017년 6월 28일 수요일

Cron Job and Bash shell script to make backup file periodically

Bash shell script and cron job to make tar backup file (such as 2017-06-27.tar)

 

If you would like to make a backup file every day, just write like following script.

 

The following file_backup.sh bash script makes tar archive file every day.

$ cat  /root/file_backup.sh

 

#!/bin/bash

# Example, MY_DATE: 2017-06-27

set MY_DATE = `date -d "-1 days" +%Y-%m-%d`

echo "date : $MY_DATE"

cd /root/data_dir

# Following command makes tar file which contains ‘peter’ subdirectory and file name is *2017-06-28*

find ./*/*/peter/ -name "*$MY_DATE*" -print | tar cfz ./daily_compress/SAINT_$MY_DATE.tar --files-from -

 

And then, configure cron table like followings

This cron job runs /root/file_backup.sh 03:00 AM every day

$ contab e

00 03 * * *  /root/file_backup.sh

 

주기적으로 파일 백업하는 Bash Shell Script (Periodic File Backup Bash Shell Script)

백업 파일 만들기 (Make Backup file)

 

하루에 한번씩 파일을 백업하고 싶다면, 아래와 같이 Shell script를 작성한다.

아래 스크립트를 설명하면,

하루 전 날짜의 파일을 모두 찾아서 SAINT_2017-06-28.tar 파일명으로 압축한다.

 

Filename:  file_backup.sh

#!/bin/bash

# Example, MY_DATE: 2017-06-27

set MY_DATE = `date -d "-1 days" +%Y-%m-%d`

echo "date : $MY_DATE"

cd /root/data_dir

find ./*/*/peter/ -name "*$MY_DATE*" -print | tar cfz ./daily_compress/SAINT_$MY_DATE.tar --files-from -

 

위와 같이 작성하고, crontab에 등록한다. (매일 오전 3시에 file_backup.sh  shell이 수행될 것이다)

$ contab –e

00 03 * * *  /root/file_backup.sh