우분투 서버에서 Onedrive로 파일 업로드 하기
컨텐츠 정보
- 17,495 조회
- 6 댓글
- 1 추천
- 목록
본문
1. bash-onedrive-upload 서버에 설치하기
cd /usr/local/src
git clone --recursive https://github.com/fkalis/bash-onedrive-upload.git
위와 같이 /usr/local/src에 파일을 저장해줍니다.
2. 원드라이브 새로운 앱 등록 후 아이디, 암호 생성하기
https://apps.dev.microsoft.com
위 링크가서 로그인합니다.
그리고 주소창에
https://apps.dev.microsoft.com/#/appList/create/sapi
위 링크를 넣고 엔터를 누르면 바로 새어플의 이름을 넣을 수 있는 창이 나옵니다. 원하는 앱 이름을 넣고 진행합니다.
Application Id
00000000000X0000
Application Secrets
xXxxxxx0XXx0x0XxxxxxXXx
위와 같이 어플리케이션 아이디와 어플리케이션 시크릿이 나와있을 것입니다. 이것은 어플리케이션 인증과 관련된 매우 중요한 내용이므로 저장해두시고, 다른 사람에게 알려지지 않도록 해주세요.
그리고 Platforms에서 Add Platform을 누릅니다.
Mobile application을 눌러주시구요.
자동으로 모바일 부분이 추가되었을 것입니다.
제일 밑에 Save 누르시면 앱셋팅은 끝입니다.
이제 응용 프로그램 ID와 암호/공개 키를 등록할 차례입니다.
3. 설정 수정하기
/usr/local/bash-onedrive-upload/onedrive.cfg
위 경로에 있는 파일을 수정합니다.
nano /usr/local/bash-onedrive-upload/onedrive.cfg
# Authentication config
export api_client_id=""
export api_client_secret=""
위 내용에 아까 중요하다고 했던
Application Id
00000000000X0000
Application Secrets
xXxxxxx0XXx0x0XxxxxxXXx
위 내용들을 넣으면 됩니다.
# Authentication config
export api_client_id="00000000000X0000"
export api_client_secret="xXxxxxx0XXx0x0XxxxxxXXx"
위와 같은 형식으로 입력하면 됩니다.
저장하고 나오시구요.
기본적인 설정은 끝났습니다.
4. 어플리케이션 인증받기
./onedrive-authorize
이제 위 명령어로 인증작업을 시작합니다.
위와 같은 URL을 주는데 이걸 긁어서 브라우저에서 컨트롤 V 누르면 붙여넣기가 됩니다.
▲위와 같은 스샷이 뜰 것입니다. '예' 눌러주시구요.
그러면 빈 페이지가 뜰 것입니다. 그때 웹브라우저의 주소창에 보시면
https://login.live.com/oauth20_desktop.srf?code=X0xx0000x-00x0-x000-0000-x0x0x00x0000&lc=0000
위와 같은 URL이 들어있을 것입니다.
그 중에
X0xx0000x-00x0-x000-0000-x0x0x00x0000
윗 부분이 제일 중요한 부분입니다. 해당 부분을 긁어서 복사한 후에
다시 Putty로 돌아와서
X0xx0000x-00x0-x000-0000-x0x0x00x0000
위 내용을 넣고(마우스 우클릭하면 자동으로 들어가집니다.) 엔터를 치면
It seems like we have a refresh token, so we are ready to go
위와 같이 나오면 성공입니다.
5. 테스트하기
./onedrive-upload README.md
위와 같이 ./onedrive-upload 라는 명령어 뒤에 파일 이름을 넣으면 자동으로 원드라이브의 root 폴더에 업로드 됩니다.
./onedrive-upload /usr/local/src/bash-onedrive-upload/README.md
위와 같이 ./onedrive-upload 명령어 뒤에 경로와 파일을 같이 넣어줘도 정상적으로 업로드 됩니다.
6. 활용하기
원드라이브의 root 폴더가 아닌 원하는 폴더에 업로드 하려면
./onedrive-upload -f "/Web/Database" README.md
위와 같이 넣으면 됩니다.
원드라이브의 root 폴더의 상대경로라고 보시면 됩니다.
따라서 원드라이브의 /root/Web/Database 폴더에 파일을 업로드한다는 뜻이며, 만약 해당 폴더가 없다면 자동으로 생성하여 업로드 됩니다.
이제 원하는 폴더 및 원하는 파일을 업로드 하려면
./onedrive-upload -f "/Web/Database" /usr/local/src/bash-onedrive-upload/README.md
위와 같은 형식으로 넣으면 되겠죠?
상세한 내용은 링크를 참조하시면 됩니다.
저는 제 홈페이지의 DB파일과 Web파일을 주기적으로 압축하여 원드라이브에 업로드 할 것입니다.
이전에 Dropbox를 이용하여 업로드하는 글을 올렸었는데요.
https://www.wsgvet.com/odroid/60
Dropbox 용량이 부족하여 원드라이브에 올릴 것입니다.
위 링크에서 바꿀 것은 마지막 라인입니다.
Dropbox에서는
/usr/bin/Dropbox-Uploader/dropbox_uploader.sh upload $MYSQLBACKUPDIR/$BACKUPNAME /myDB/$BACKUPNAME
위와 같이 명령어를 넣어줬는데요.
원드라이브에서는
/usr/local/src/bash-onedrive-upload/onedrive-upload -f "/Web/Database" $MYSQLBACKUPDIR/$BACKUPNAME
위와 같이 넣어주면 되겠죠?
/usr/local/src/bash-onedrive-upload/onedrive-upload -f "/Web/Webfile" $BACKUPDIR/$BACKUPNAME
웹파일은 위와 같은 경로로 넣어줬습니다.
DB백업 및 Web파일 백업을 위한 스크립트를 따로 만들어서 각각 새벽 5시 1분, 5시 3분에 업로드 하게 crontab에 입력하였습니다.
1 5 * * * /usr/local/sbin/dbbackup_to_onedrive.sh
3 5 * * * /usr/local/sbin/webfilebackup_to_onedrive.sh
위와 같이 지정해주면 되겠죠? ^^
-
등록일 2020.10.04
-
등록일 2020.10.04
-
등록일 2020.09.27
-
등록일 2020.09.27중국 황금방패 뚫는 VPN 3대장 직접 설치하기댓글 215
관련자료
-
서명우성짱의 NAS를 운영하고 있습니다.
저의 즐거움이 여러분의 즐거움이면 좋겠습니다.
-
링크