컨텐츠가있는 특정 디렉토리를 원격 위치에 백업


0

ovh에서 호스팅되고 PuTTy를 통해 원격으로 액세스 할 수있는 Ubuntu 17.04를 실행 중입니다 (터미널 전용, GUI 없음).

저의 의도는 실행중인 서버를 포함하는 단일 디렉토리를 백업하는 것입니다. 모든 하위 파일 / 디렉토리는 다양한 백업이 저장되는 원격 위치 (최대 한도)를 향합니다.

  • 얼마나 자주? : 적어도 24 시간마다.
  • 원격 위치? : 확실하지 않음, Google 드라이브와 같은 일부 외부 서비스는 수행 방식에 따라 달라질 수 있습니다. 무료 + 추가 공간이 가장 좋습니다.
  • 복원 프로세스는 불필요합니다. 원하는 디렉토리를 원격 위치로 보내면 나중에 주 OS 또는 파일이 손상된 경우 수동으로 검사 / 복구 할 수 있습니다.
  • 전체 시스템을 백업 할 필요는 없으며 해당 디렉토리와 내용 만 백업하면됩니다.

내가 이미 확인한 것 :

  • "BackupYourSystem"에 대한 우분투의 메인 가이드 나는 꽤 새롭기 때문에 여기에서 물어봐야 할 것 같은 느낌이 들었습니다.
  • 이 안내서에 나열된 일부 프로그램과 내가 완전히 확신하지 못한 다른 자습서.

이 작업을 수행하는 방법에 대한 조언을 얻을 수 있습니까? 나는 우분투에 새로운 주입니다. 감사! 추가 정보가 필요하면 기꺼이 제공해 드리겠습니다.


"단일 파일"이라고 할 때 실제로 단일 디렉토리를 의미 합니까?
— Bex

예, 수정했습니다.
— Mithrandir

답변:


0

당신은 아마 연구하고 싶습니다 rsync. 로 시작

man rsync

구현하려는 백업 종류를 위해 만들어진 도구입니다.

사용 사례의 경우 실행만큼 간단해야합니다.

rsync -av --progress <user>@<host>:<directory> .

머신 및 백업을 원하는 위치에서.


정보 벡스 감사합니다! 그래도 그 명령을 보면 다음과 같은 것들이 궁금합니다.-Google 드라이브 계정에서 "user", "host"및 "directory"에 대한 정확한 매개 변수를 어디서 얻을 수 있습니까? -이 명령이 24 시간마다 한 번씩 실행되고 특정 파일이되도록 예약하려면 어떻게해야합니까? -명령의 마지막 점도 필요합니까? 아직도, 나는 rsync 문서가 나에게 말한 것을 이해하려고 노력할 것입니다.
— Mithrandir

@Mithrandir 질문에서 Google 드라이브에 대한 참조를 찾지 못했습니다. Google 드라이브에 저장된 콘텐츠를 백업 하시겠습니까, 아니면 백업을 유지 하시겠습니까?
— Bex

24 시간마다 디렉토리의 사본을 (바람직하게) 보내고 싶습니다. 각 일일 사본은 가능한 한 최대 한도까지 저장되어 있어야하며, 그 이후에는 최신 백업에서 최신을 제거합니다.
— Mithrandir

0

명령 행에서 원격으로 Google 드라이브를 사용하려면 명령에 REST API 를 사용할 수 있습니다 curl.

tar와 같이 디렉토리를 압축하십시오 :

tar -jcf backup.tar.bz2 <directory>

와 함께 구글 드라이브에 보내

curl -d @backup.tar.bz2 https://www.googleapis.com/upload/drive/v2/files --header "Content-Type:application/x-tar" 

이를 위해서는 문서 에서 인증 토큰을 읽어야 합니다 .

curl인증으로 위 의 예 를 수정해야 합니다.

이 작업을 마치고 테스트 한 후에는 스크립트에 넣으십시오. 일단 이이 완료, 정기적으로 사용을 실행합니다 crontab. 확인

man crontab

그런 다음 crontab항목 을 편집하여

crontab -e

좋아, 유망한 소리. 그러나 메인 파일은 서버가 내부에서 실행 중이기 때문에 압축 할 수 없습니다. 디렉토리를 다른 곳에서 로컬로 복사 한 다음 압축 한 다음 보내야합니다. 그러나 로컬 압축 파일을 보낸 후에 만 ​​로컬 압축 파일을 삭제해야합니다 (따라서 로컬 압축 파일이 누적되지 않음). 전송 될 때까지 스크립트를 기다렸다가 삭제할 수 있는지 궁금합니다. 스크립팅을 배워야합니다. 저와 같은 초보자에게는 어려운 도전이지만, 최선을 다하겠습니다. 어떻게 진행되는지 알려 드리겠습니다.
— Mithrandir

나는 이것으로 몇 가지 진전을 이루었습니다. 먼저, 나는 구글 드라이브 API에서 자격 증명을 만들고 액세스 항목을 포함하는 것처럼 보이는 json 파일을 다운로드했습니다 (필요한 것입니까?). curl 명령에 어떤 부분을 추가해야합니까? zip 이름 "backup.tar.bz2"를 변경할 수 있습니까? 아니면이 특정 이름이 필요합니까? 방금 복사 한 파일과 동일한 디렉토리에 zip을 생성 할 수 있습니까? 이 디렉토리를 변경하면 curl 명령에서 @ 다음에 전체 경로를 지정해야합니까? 실제로 많은 질문이 있지만 이것에 대한 나의 경험은 0입니다. 나는 적어도 압축에 도달했습니다.
— Mithrandir

@Mithrandir 지금까지 매우 잘되었습니다. 당신은 아직 많은 질문을 가지고 있으며, 그것은 좋은 것입니다. 가능한 한 많이 조사한 다음 사이트에서 새로운 질문으로 제시하십시오. 이것이 바로이 사이트를 계속 유지시키는 일종의 정신입니다.
— Bex
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.