미니의 블로그

  • rsync 로 타임머신처럼 백업하기

    라즈베리파이 서버를 백업하는데 애플의 타임머신처럼 시간대 별로 백업해서 원하는 시간으로 복원할 수 있게끔 하고 싶었다. 인터넷을 열심히 찾은 결과 아래와 같이 백업하기로 했다.

    우선 github에서 rsync-time-backup을 받아준다.

    https://github.com/laurent22/rsync-time-backup

    그리고 홈에서 scripts 폴더를 만들어 rsync_tmbackup.sh 를 만들어 주었다.

    mkdir scripts
    wget https://raw.githubusercontent.com/laurent22/rsync-time-backup/master/rsync_tmbackup.sh

    위 스크립트에는 덮어쓰기 방지 안전장치가 있어서 백업을 저장할 위치에 파일을 만들어 주어야 한다. 아래와 같이 백업하는 경로에 파일을 만들어 준다.

    ssh -p 22 [email protected] 'mkdir -p -- /mnt/backup/rsync/rpi" ; touch /mnt/backup/rsync/rpi/backup.marker"'

    이제 백업 스크립트를 실행해 주면 백업이 된다.

    sudo ./scripts/rsync_tmbackup.sh -i /home/pi/.ssh/id_rsa /home/pi/ [email protected]:/mnt/backup/rsync/rpi/

    위는 /home/pi/ 의 자료들을 192.168.1.220 서버의 /mnt/backup/rsync/rpi/ 폴더에 백업하는 것이다.

    백업이 완료되고 백업 위치를 보면 타임머신 처럼 날짜로 백업이 나뉘어 진 것을 볼 수 있다.

    pi@raspberrypi:~ $ ssh -p 22 [email protected] 'ls /mnt/backup/rsync/rpi/'
    [email protected]'s password: 
    2023-07-15-181016
    backup.marker
    latest
  • VS Code로 서버 접속하기

    나는 서버에 접속해서 설정을 바꾸는 등 파일을 수정할 때 평소에는 ssh 터미널로 접속해서 nano편집기를 사용하고는 했다.

    그러나 이번에 VS Code를 배우면서 확장을 설치하면 VS Code에서 파일을 수정할 수 있다는 것을 알게 되었다. 그래서 그 방법을 소개해 주려고 한다.

    우선 VS Code를 실행해 준다.

    왼쪽의 바에서 확장 버튼을 클릭해 준다.

    그러면 위와 같이 설치된 확장이 뜨는데 마켓플레이스에서 확장 검색을 누른 후 “ssh”를 검색해 준다.

    맨위에 뜨는 “Remote – SSH”확장을 설치해 준다.

    이제 왼쪽 아래 >< 느낌의 파란 버튼을 클릭해 주면 ‘원격 창 열기’라는 메뉴가 뜬다.

    이제 “호스트에 연결” 또는 “호스트에 현재 창 연결”을 클릭 후 사용자명, 주소와 비밀번호를 입력해 주면 된다.

    참고로 ssh config파일을 이용하면 아이디와 비밀번호를 생략할 수 있다.

  • 윈도우 공유폴더에 타임머신 백업하기

    맥을 사용하는데 있어서 타임머신이야 말로 최고의 백업 방법이다. 타임머신은 외장하드나 NAS에 백업할 수 있는데 NAS가 없는 나는 외장하드에 백업해 왔다.

    그러다가 이번에 NAS와 같이 쓸 수 있도록 노트북에 개인 서버를 만들었다. 리눅스 기반으로 하려다 드라이버 문제 때문에 윈도우7을 쓰게 되었다.

    윈도우에서는 타임머신 백업을 못 만드는 줄 알았으나 방법을 찾게 되어 여기에 남겨 본다.

    우선 윈도우 파일 공유 먼저 설정해 준다. 제어판에서 네트워크 및 인터넷, 네트워크 및 공유 센터, 고급 공유 설정으로 이동한다. 그리고 여기서 파일 및 프린터 공유 켜기를 선택해 준다.

    그 다음 공유할 폴더를 우클릭 한 후 속성에 들어가서 공유 탭의 고급 공유 설정에 들어간다.

    선택한 폴더 공유를 체크해 주고 공유 이름을 지정해 준다.

    이제 맥으로 옮겨 간다. 디스크 유틸리티를 실행한다.

    파일 > 새로운 이미지 > 빈 이미지로 들어간다. (단축키 ⌘N)

    이름과 크기를 정해 주고 포맷은 Mac OS 확장(대소문자 구분, 저널링)으로 해 준다.
    암호화는 필요하면 선택해 주고 이미지 포맷은 분할 번들 디스크 이미지로 해 준다.

    맥에서 윈도우 공유 폴더를 열어준다 파인더에서 ⌘K를 누르고 smb://윈도우컴퓨터ip주소 혹은 smb://윈도우컴퓨터이름을 입력 후 엔터를 누른다.

    윈도우 계정의 이름과 비밀번호를 입력후 엔터를 누르고 이후 위에서 만든 공유 이름을 선택해 준다.

    아까 만든 디스크 이미지 파일을 윈도우 공유 폴더로 옮겨주자.

    이제 옮긴 디스크 이미지 파일을 열어준다. 디스크 유틸리티에 표시가 되는지 확인 한다.

    이제 터미널을 열고 sudo tmutil setdestination /Volumes/타임머신이름 명령어를 실행해 준다.

    아래는 예시이다.

    sudo tmutil setdestination /Volumes/Time\ Machine

    이제 타임머신 설정에 들어가면 재대로 잡혀 있는 것을 확인할 수 있다.

    이제 마지막으로 껐다 켰을 때에도 자동으로 인식할 수 있도록 설정할 것이다.

    설정 > 일반 > 로그인 항목으로 이동한다.

    위의 디스크 이미지 파일을 로그인 항목으로 드래그 한다.

    이렇게 하면 재부팅을 해도 알아서 백업을 잘 하는 것을 알 수 있다.

    +추가
    잠자기에서 깨어 나는 등의 이유로 연결이 끊어지기도 한다, 이때는 하는 수 없이 직접 마운트 해야 한다. 그래서 나는 이미지 파일을 독에 고정해 두고 끊어질 때마다 수동으로 마운트 할 수 있게 해 뒀다.