우분투 파일 백업

백업은 운영 체제나 파일 시스템의 중요한 부분으로, 잃어버릴 경우 데이터 복구에 많은 시간과 비용이 들어갈 수 있습니다. 파일을 백업하는 것은 항상 좋은 습관입니다. 이번 글에서는 우분투 Linux에서 Bash를 이용하여 파일을 백업하는 방법을 알아보겠습니다.

Bash 스크립트 작성

  1. 우분투 터미널을 엽니다.
  2. 백업 스크립트를 작성할 파일을 생성합니다. 예를 들어, backup.sh라는 파일을 생성합니다.

    $ touch backup.sh
    
  3. 생성한 파일을 수정하고 다음 코드를 입력합니다.

    #!/bin/bash
    
    # 백업할 디렉토리 경로
    source_dir="/path/to/source/directory"
    
    # 백업된 파일을 저장할 디렉토리 경로
    backup_dir="/path/to/backup/directory"
    
    # 백업 파일 이름에 날짜와 시간을 추가하기 위한 변수
    current_date=$(date +%Y%m%d_%H%M%S)
    
    # 백업 실행
    rsync -avz --delete "${source_dir}" "${backup_dir}/backup_${current_date}"
    

    이 스크립트는 source_dir 변수에 지정한 디렉토리의 파일을 backup_dir 변수에 지정한 디렉토리에 백업합니다. 백업된 디렉토리 이름은 backup_날짜시간의 형식으로 생성됩니다. rsync 명령을 사용하여 복사가 이루어집니다.

  4. 스크립트를 저장한 후 실행 권한을 부여합니다.

    $ chmod +x backup.sh
    

백업 스크립트 실행

  1. 터미널에서 백업 스크립트를 실행합니다.

    $ ./backup.sh
    

    백업 작업이 시작되며 진행 상황이 터미널에 표시됩니다. 모든 파일 복사가 완료되면 백업된 파일이 backup_dir에 생성됩니다.

스케줄링

정기적으로 백업 작업을 실행하고 싶다면 cron을 사용하여 스케줄링할 수 있습니다. 다음은 매일 3시에 백업 스크립트를 실행하는 예시입니다.

  1. 터미널에서 cron 작업을 편집합니다.

    $ crontab -e
    
  2. 에디터가 열리면 다음 라인을 추가합니다.

    0 3 * * * /path/to/backup.sh
    

    이 예시에서는 매일 3시 0분에 /path/to/backup.sh 스크립트를 실행합니다.

  3. 작업을 저장하고 에디터를 닫습니다.

    cron 스케줄러는 지정된 시간에 주어진 명령을 자동으로 실행합니다. 이를 통해 매일 일정 시간에 자동 백업을 수행할 수 있습니다.

마무리

이 글에서는 우분투에서 Bash 스크립트를 사용하여 파일을 백업하는 방법에 대해 알아보았습니다. 데이터 손실을 방지하기 위해 정기적으로 파일을 백업하는 것은 중요한 습관입니다. Bash 스크립트와 cron을 활용하여 자동화된 백업 시스템을 구축할 수 있습니다.