立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 113|回复: 9

GoogleDrive Linux備份,如何不壓縮文件,直接上傳?

[复制链接]

GoogleDrive Linux備份,如何不壓縮文件,直接上傳?

[复制链接]

28

主题

139

回帖

486

积分

中级会员

积分
486
Tank

28

主题

139

回帖

486

积分

中级会员

积分
486
2018-8-20 22:37:22 | 显示全部楼层 |阅读模式
[ol]
  • #!/bin/sh
  • ##-----------------------Database Access--------------------------##
  • DB_NAME="my-database-name"
  • DB_USER="my-database-user"
  • DB_PASSWORD="my-database-password"
  • ##-----------------------Folder Web or Folder you want to backup--------------------------##
  • NameOfFolder=("zhujiwiki")
  • SourceOfFolder="/home/wwwroot"
  • BackupLocation="/backups"
  • date=$(date +"%Y-%m-%d")
  • ##That mean, you will Backup the folder /home/wwwroot/zhujiwiki and will save into Folder /backups
  • if [ ! -d $BackupLocation ]; then
  • mkdir -p $BackupLocation
  • fi
  • find $BackupLocation/*.zip -mtime +10 -exec rm {} \;
  • for fd in $NameOfFolder; do
  • # Name of the Backup File
  • file=$fd-$date.zip
  • # Zip the Folder you will want to Backup
  • echo "Starting to zip the folder and files"
  • cd $SourceOfFolder
  • zip -r $BackupLocation/$file $fd
  • sleep 5s
  • mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $BackupLocation/$date-$DB_NAME.sql.tar
  • sleep 5s
  • ##Process Upload Files to Google Drive
  • gdrive upload --file /backups/$file
  • sleep 5s
  • gdrive upload --file /backups/$date-$DB_NAME.sql.tar
  • if test $? = 0
  • then
  • echo "Your Data Successfully Uploaded to the Google Drive!"
  • echo -e "Your Data Successfully created and uploaded to the Google Drive!" | mail -s "Your VPS Backup from $date" youremail@yourdomain.com
  • else
  • echo "Error in Your Data Upload to Google Drive" > $LOG_FILE
  • fi
  • done[/ol]复制代码

    上面這段自動備份命令來自zhujiwiki,https://zhujiwiki.com/usr/uploads/2017/09/googledrive.sh


    這段代碼有一個缺陷,就是每次備份數據都需要以下步驟:

    1、先在需要備份的服務器内創建一個備份文件夾,比如 backup

    2、把需要備份的數據庫和目錄,以zip壓縮的形式,壓縮到服務器的backup内

    3、上傳backup内的壓縮包至 GoogleDrive



    這種備份方式對于備份數據大,或者硬盤數據不夠大的服務器,是不能實現的,比如:我的服務器有1T硬盤,其中要備份的數據庫10G,但網站目錄已經占用了900G,就沒有辦法先通過第2步驟,壓縮到服務器内,服務器硬盤已經不夠了。另外,GoogleDrive的單個文件大小好像也是有限制的(15G),如果一個壓縮包900G,怎麽能上傳到GoogleDrive?



    所以我的問題是:備份時,僅僅壓縮數據庫就可以了,
    但是網站目錄的文件就不要壓縮了,網站目錄的文件直接上傳GoogleDrive



    這樣的話,要怎樣修改這個自動備份命令呢?麻煩各位前輩賜教。
  • 回复

    使用道具 举报

    28

    主题

    139

    回帖

    486

    积分

    中级会员

    积分
    486
    Tank 楼主

    28

    主题

    139

    回帖

    486

    积分

    中级会员

    积分
    486
    2018-8-20 22:38:25 | 显示全部楼层
    以下是轉換后的簡體中文方便前輩們閲讀:

    [ol]
  • #!/bin/sh
  • ##-----------------------Database Access--------------------------##
  • DB_NAME="my-database-name"
  • DB_USER="my-database-user"
  • DB_PASSWORD="my-database-password"
  • ##-----------------------Folder Web or Folder you want to backup--------------------------##
  • NameOfFolder=("zhujiwiki")
  • SourceOfFolder="/home/wwwroot"
  • BackupLocation="/backups"
  • date=$(date +"%Y-%m-%d")
  • ##That mean, you will Backup the folder /home/wwwroot/zhujiwiki and will save into Folder /backups
  • if [ ! -d $BackupLocation ]; then
  • mkdir -p $BackupLocation
  • fi
  • find $BackupLocation/*.zip -mtime +10 -exec rm {} \;
  • for fd in $NameOfFolder; do
  • # Name of the Backup File
  • file=$fd-$date.zip
  • # Zip the Folder you will want to Backup
  • echo "Starting to zip the folder and files"
  • cd $SourceOfFolder
  • zip -r $BackupLocation/$file $fd
  • sleep 5s
  • mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $BackupLocation/$date-$DB_NAME.sql.tar
  • sleep 5s
  • ##Process Upload Files to Google Drive
  • gdrive upload --file /backups/$file
  • sleep 5s
  • gdrive upload --file /backups/$date-$DB_NAME.sql.tar
  • if test $? = 0
  • then
  • echo "Your Data Successfully Uploaded to the Google Drive!"
  • echo -e "Your Data Successfully created and uploaded to the Google Drive!" | mail -s "Your VPS Backup from $date" youremail@yourdomain.com
  • else
  • echo "Error in Your Data Upload to Google Drive" > $LOG_FILE
  • fi
  • done[/ol]复制代码

    上面这段自动备份命令来自zhujiwiki,https://zhujiwiki.com/usr/uploads/2017/09/googledrive.sh


    这段代码有一个缺陷,就是每次备份数据都需要以下步骤:

    1、先在需要备份的服务器内创建一个备份文件夹,比如 backup

    2、把需要备份的数据库和目录,以zip压缩的形式,压缩到服务器的backup内

    3、上传backup内的压缩包至 GoogleDrive



    这种备份方式对于备份数据大,或者硬盘数据不够大的服务器,是不能实现的,比如:我的服务器有1T硬盘,其中要备份的数据库10G,但网站目录已经占用了900G,就没有办法先通过第2步骤,压缩到服务器内,服务器硬盘已经不够了。另外,GoogleDrive的单个文件大小好像也是有限制的(15G),如果一个压缩包900G,怎么能上传到GoogleDrive?



    所以我的问题是:备份时,仅仅压缩数据库就可以了,
    但是网站目录的文件就不要压缩了,网站目录的文件直接上传GoogleDrive



    这样的话,要怎样修改这个自动备份命令呢?麻烦各位前辈赐教。
  • 回复

    使用道具 举报

    0

    主题

    19

    回帖

    46

    积分

    新手上路

    积分
    46
    lpsoc

    0

    主题

    19

    回帖

    46

    积分

    新手上路

    积分
    46
    2018-8-20 22:58:36 | 显示全部楼层
    不可以递归文件夹上传么?
    https://github.com/prasmussen/gdrive




    回复

    使用道具 举报

    2

    主题

    30

    回帖

    82

    积分

    注册会员

    积分
    82
    yeungfafa

    2

    主题

    30

    回帖

    82

    积分

    注册会员

    积分
    82
    2018-8-20 23:15:55 | 显示全部楼层
    API 存取限制 這麼多文件拿回來都惱死你
    回复

    使用道具 举报

    11

    主题

    354

    回帖

    1316

    积分

    金牌会员

    积分
    1316
    gaoji.me

    11

    主题

    354

    回帖

    1316

    积分

    金牌会员

    积分
    1316
    2018-8-20 23:49:48 | 显示全部楼层
    改改脚本么好了,去掉zip压缩目录,直接递归上传
    回复

    使用道具 举报

    28

    主题

    139

    回帖

    486

    积分

    中级会员

    积分
    486
    Tank 楼主

    28

    主题

    139

    回帖

    486

    积分

    中级会员

    积分
    486
    2018-8-20 23:52:41 | 显示全部楼层

    yeungfafa 发表于 2018-8-20 23:15

    API 存取限制 這麼多文件拿回來都惱死你

    那像我這種網站目錄比較大的,差不多幾百G的,是不是沒辦法備份到GoogleDrive了?

    因爲假如我加硬盤,用壓縮包壓的話,幾百G也傳不上去,谷歌限制15G單個文件大小的吧?
    回复

    使用道具 举报

    1

    主题

    441

    回帖

    1374

    积分

    金牌会员

    积分
    1374
    doruison

    1

    主题

    441

    回帖

    1374

    积分

    金牌会员

    积分
    1374
    2018-8-20 23:15:00 | 显示全部楼层

    Tank 发表于 2018-8-20 23:52

    那像我這種網站目錄比較大的,差不多幾百G的,是不是沒辦法備份到GoogleDrive了?

    因爲假如我加硬盤,用 ...

    应该没有15g限制这么一说吧?这也太小了。
    另外,你可以分卷再压缩呗,或者直接用linux split
    回复

    使用道具 举报

    18

    主题

    524

    回帖

    1822

    积分

    金牌会员

    积分
    1822
    CheapLolicon

    18

    主题

    524

    回帖

    1822

    积分

    金牌会员

    积分
    1822
    2018-8-21 00:12:10 | 显示全部楼层

    Tank 发表于 2018-8-20 23:52

    那像我這種網站目錄比較大的,差不多幾百G的,是不是沒辦法備份到GoogleDrive了?

    因爲假如我加硬盤,用 ...


    单文件几百G?没问题,谷盘最高支持5T(https://support.google.com/drive/answer/37603
    但为了确保你文件的安全和完整性,建议你分包
    回复

    使用道具 举报

    15

    主题

    833

    回帖

    2549

    积分

    金牌会员

    积分
    2549
    002

    15

    主题

    833

    回帖

    2549

    积分

    金牌会员

    积分
    2549
    2018-8-20 23:52:00 | 显示全部楼层

    CheapLolicon 发表于 2018-8-21 00:32

    单文件几百G?没问题,谷盘最高支持5T(https://support.google.com/drive/answer/37603
    但为了确保你文 ...

    就是同步 太慢了..
    rclone sync 也没有传输状态显示..
    回复

    使用道具 举报

    0

    主题

    59

    回帖

    138

    积分

    注册会员

    积分
    138
    lyt520914

    0

    主题

    59

    回帖

    138

    积分

    注册会员

    积分
    138
    2018-8-21 00:32:03 | 显示全部楼层
    我选择rclone
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-23 14:13 , Processed in 0.025403 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表