利用百度網盤備份vps數據

在寫東西以前。首先先感謝下這款好工具腳本的做者:[weblink url="https://github.com/oott123"]@oott123[/weblink]; 好了,進入今天主題。前段時間各大互聯網公司都在轟炸網盤這塊蛋糕。送100G不夠,送1T,送1T不夠就送10T...最後發展到某些 廠家已經進入無限網盤的境地。這麼大的存儲量。相信不是照片,小電影或者其餘東西能裝得完的。做爲站長。咱們能夠充分利用這免費的空間打造一個免費的vps備份利器。
介紹今天的主角——bpcs_uploader
bpcs_uploader利用百度開放的API接口。對百度網盤應用數據進行操做,能夠實現,查詢容量(配額)、上傳文件、下載文件、刪除文件、離線下載; [h2]系統要求:[/h2]Linux (or cygwin) with php & curl installed. linux須要安裝php環境,而且安裝curl才能使用本腳本。 查看方式:rpm -qa |grep -E "php|curl" php也能夠直接使用php -v看到版本就說明有php環境; 有了環境,咱們就能夠進入下一步了; [h2]下載bpcs_uploader[/h2]
wget https://github.com/oott123/bpcs_uploader/zipball/master; unzip master; #以後會生成一個oott123開頭的目錄能夠修更名字爲bocsuploader
[h2]初始化腳本 ps:這塊做者說的很詳細了。Readme摘抄之[/h2]
#進入這個目錄: cd bocsuploader; #給bpcs_uploader.php附上可執行權限: chmod +x bpcs_uploader.php 執行 ./bpcs_uploader.php 因爲VPS上安裝的php可能存在於各類地方,所以運行極可能不正常。請以使用`which php`獲得你的php絕對路徑,修改bpcs_uploader.php的頭一句#!後的路徑。 若是你的php是爲了網站環境安裝的,那麼頗有可能你會獲得下面這條錯誤消息: > xxx() has been disabled for security reasons 那麼說明你的環境因爲安全緣由禁止了部分函數的執行。請看FAQs的1。請使用那條長長的命令代替./bpcs_uploader.php。eg:`php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quota` ### 快速初始化 ./bpcs_uploader.php quickinit 敲下命令直接進入快速初始化流程,輸入y,而後打開瀏覽器訪問 https://openapi.baidu.com/device ,在「請輸入設備上顯示的用戶受權碼:」文本框中輸入上面顯示的受權碼(這裏是`12abcxyz`),並點擊繼續。 看到網頁上顯示「請返回設備繼續操做!」後,返回ssh上按下回車後,即完成了初始化配置。 ### 初始化 ./bpcs_uploader.php init 敲下命令以後會進入初始化流程,這裏分段詳述設置方法。 > Uploader initialization will be begin. If you have already configured the uploader before, your old settings will be overwritten. > Continue? [y/N] y 確認初始化。若是以前有初始化過,那麼之前的配置將會被覆蓋。 > Please enter your PSC App API Key. You can get this key by visiting http://developer.baidu.com/dev#/create > If you have already created an app, you can visit http://developer.baidu.com/console#/app and get it in your app's info. > If you don't want to bother creating an app, you can press Enter to use the demo API Key. > Doing so (without your own API Key/Secret) will cause the access-token to expire every 30 days, and you'll have to re-initialize when it expires. > App API KEY [uFBSHEwWE6DD94SQx9z77vgG] : 第一步,輸入App key。這裏須要輸入一個有PCS權限的API KEY,若是沒有的話直接敲回車就行了,這裏會默認使用內置的一組app key,app secret和app folder name,因此只要敲下回車就能直接跳到第四步。若是你沒有App secret(例如使用L6g70tBRRIXLsY0Z3HwKqlRE這個Key時),只能獲取一個有效期爲一個月的access token。若是有一個有PSC權限的API KEY和secret,那麼就能得到一個有效期爲10年的refresh token,以便長期使用。 > App API Key has been set to uFBSHEwWE6DD94SQx9z77vgG . > Please enter your Baidu PSC App API Secret. If you have no idea what it is, keep it blank. > App API SECRET [] : 第二步,輸入App secret。若是輸入了app secret,將會轉到device code模式驗證;或者直接輸入回車使用oob模式驗證。先直接回車: > Please enter your app's folder name. You can choose to input this later in the file [ /root/_bpcs_files_/config/appname ]. > ** Why do I have to enter the app's folder name? Please check the FAQs. ** > If your app's name has Chinese characters, please ensure that your client supports UTF-8 encoding. > Below are some Chinese characters for testing. Please make sure that you can read them before you enter Chinese here. > 這裏是一些中文字符。 > If you can't read the characters above, please press Enter and change it manually within the file [ /root/_bpcs_files_/config/appname ]. > If you have Enter the key [L6g70tBRRIXLsY0Z3HwKqlRE] (by default) , just press Enter. > App Name [pcstest_oauth] : 第三步,這裏須要輸入app folder name,也就是你申請API時填寫的文件夾名字。詳情見FAQ 2。由於是使用的默認的key,因此直接回車便可。 > In the next step, you'll have to grab the access_token generated by Baidu. > You can check out this link for more information on this procedure: > http://developer.baidu.com/wiki/index.php?title=docs/pcs/guide/usage_example > > Easy Guide: > 1. Visit https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=$appkey&redirect_uri=oob&scope=netdisk > 2. After the page is being redirected (it should show something like OAuth 2.0), copy the current URL to your favorite text editor. > 3. Grab the access_token part, take only the part between "access_token=" and the next "&" symbol (without quotes). > 4. Copy it and paste here, then press Enter. > access_token[] : 第四步,獲取access token。在瀏覽器中打開上述URL( https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3HwKqlRE&redirect_uri=oob&scope=netdisk ),進行受權。 受權完畢後,將會跳到一個寫着「百度 Oauth2.0」的頁面。複製出其中的網頁URL,找到access_token=和&之間的字符串,例如: `3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47` 將其複製到shell中粘貼並回車。使用這種方式初始化的用戶,須要每個月從新初始化。 若是第三步輸入app secret的時候沒有留空,將會獲得下面的消息: > Launch your favorite web browser and visit https://openapi.baidu.com/device > Input 12abcxyz as the user code if asked. > After granting access to the application, come back here and press Enter to continue. 來到這裏,打開瀏覽器訪問 https://openapi.baidu.com/device ,在「請輸入設備上顯示的用戶受權碼:」文本框中輸入上面顯示的受權碼(這裏是`12abcxyz`),並點擊繼續。 看到網頁上顯示「請返回設備繼續操做!」後,返回ssh上按下回車後,便可繼續。 > curl -X GET -k -L "...." > % Total % Received % Xferd Average Speed Time Time Time Current > Dload Upload Total Spent Left Speed > 0 62 0 62 0 0 40 0 --:--:-- 0:00:01 --:--:-- 235 > Access Granted. Your Storage Status: 0.06G/115.00G (0.05%) > Enjoy! 你所看到的輸出可能和這裏給出的不同,可是隻要看到了存儲空間的剩餘量,和【Have fun !】提示,即說明成功初始化。

使用

### 上傳文件 ./bpcs_uploader.php upload [path_local] [path_remote] 路徑格式:`foo/bar/file.ext`(路徑中必定要包括文件名) 上傳後,能在百度網盤/個人應用數據/應用名/foo/bar下找到一個叫file.ext的文件。 完整事例 ./bpcs_uploader.php upload /home/wwwroot/xxx.tag.gz xxx.tag.gz ### 下載文件 ./bpcs_uploader.php download [path_local] [path_remote] 完整事例 ./bpcs_uploader.php download /home/wwwroot/xxx.tag.gz xxx.tag.gz ### 刪除文件 ./bpcs_uploader.php delete [path_remote] 完整事例 ./bpcs_uploader.php delete xxx.tag.gz ### 離線下載 ./bpcs_uploader.php fetch [path_remote] [path_to_fetch] 這個就是利用百度網盤離線下載功能。咱們備份網站貌似用不到
[warning]1. 各類錯誤提示 試試`php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php`。 2. 爲何要輸入文件夾名? 由於百度PCS的權限被限制在了/apps/文件夾名/下。若是發現輸入文件夾名後仍然沒法上傳文件,請經過網頁版找到【個人應用數據】找到對應的文件夾名,寫入/config/appname文件。上傳文件的時候會自動幫您處理文件夾,無需手動寫出完整路徑。[/warning] shell自動備份網站數據到百度網盤
相關文章
相關標籤/搜索