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


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.