{"id":13587750,"url":"https://github.com/mbrother2/butdr","last_synced_at":"2025-04-07T22:31:32.982Z","repository":{"id":222378645,"uuid":"228299194","full_name":"mbrother2/butdr","owner":"mbrother2","description":"Backup to Cloud( Google Drive, Dropbox ... ) use rclone","archived":false,"fork":false,"pushed_at":"2021-08-02T04:38:32.000Z","size":158,"stargazers_count":58,"open_issues_count":1,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-02-13T21:56:13.716Z","etag":null,"topics":["backblaze-b2","backup","backup-script","backup-tool","cloud","cron","cron-backup","dropbox","googledrive","onedrive","yandex"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbrother2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-16T03:59:55.000Z","updated_at":"2024-08-01T16:33:44.356Z","dependencies_parsed_at":null,"dependency_job_id":"b2c7b150-71ea-4088-9954-28f2fabc8939","html_url":"https://github.com/mbrother2/butdr","commit_stats":null,"previous_names":["mbrother2/butdr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbrother2%2Fbutdr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbrother2%2Fbutdr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbrother2%2Fbutdr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbrother2%2Fbutdr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbrother2","download_url":"https://codeload.github.com/mbrother2/butdr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247740846,"owners_count":20988280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backblaze-b2","backup","backup-script","backup-tool","cloud","cron","cron-backup","dropbox","googledrive","onedrive","yandex"],"created_at":"2024-08-01T15:06:20.753Z","updated_at":"2025-04-07T22:31:32.659Z","avatar_url":"https://github.com/mbrother2.png","language":"Shell","readme":"# butdr\nBackup to Cloud solution use [rclone](https://github.com/rclone/rclone)\n---\n\n# What can this script do?\n- Download \u0026 config rclone with your [Cloud](https://github.com/mbrother2/butdr/blob/master/README.md#cloud-support) credential\n- Create cron auto backup\n- Exclude/include file/directory when run cron backup\n- Sync backup directory from local to Cloud\n- Compress backup directory before upload\n- Send error email if upload to Cloud fail\n- Auto remove old backup on Cloud\n- Run upload from your backup directory to Cloud whenever you want\n- Detail log\n\n# Structure\n```\n$HOME (/root or /home/$USER)\n   ├── bin\n   │    ├── butdr.bash\n   │    ├── cron_backup.bash\n   │    └── rclone\n   │\n   └── .config\n        ├── accounts\n        │   ├── \u003ccloud\u003e.conf\n        │   ├── \u003ccloud\u003e.exclude\n        │   └── \u003ccloud\u003e.include\n        ├── butdr.conf\n        ├── butdr.log\n        ├── detail.log\n        └── rclone\n            └── rclone.conf\n\n```\n\n# OS support(x86_64):\n- **Linux:** CentOS, Debian, Ubuntu, openSUSE, Oracle Linux\n\n# Cloud support:\n- Google Drive\n- Dropbox\n- Yandex\n- One Drive\n- Backblaze\n\n# How to use\n**On Linux system:**\n```\ncurl -o butdr.bash https://raw.githubusercontent.com/mbrother2/butdr/master/butdr.bash\nbash butdr.bash --setup\n```\nAfter install, run backup immediately to test:\n```\ncron_backup.bash -v\n```\n\n# Wiki\n### Common\n##### [What is the option SYNC_FILE?](https://github.com/mbrother2/butdr/wiki/What-is-the-option-SYNC_FILE%3F)\n\n### Google Drive( drive)\n##### [Create own Google credential step by step](https://github.com/mbrother2/butdr/wiki/Create-own-Google-credential-step-by-step)\n##### [Get Google folder ID](https://github.com/mbrother2/butdr/wiki/Get-Google-folder-ID)\n##### [Turn on 2 Step Verification \u0026 create app's password for Google email](https://github.com/mbrother2/butdr/wiki/Turn-on-2-Step-Verification-\u0026-create-app's-password-for-Google-email)\n\n### Dropbox( dropbox)\n##### [Create own Dropbox credential step by step](https://github.com/mbrother2/butdr/wiki/Create-own-Dropbox-credential-step-by-step)\n\n### Yandex( yandex)\n##### [Create own Yandex credential step by step](https://github.com/mbrother2/butdr/wiki/Create-own-Yandex-credential-step-by-step)\n\n### One Drive( onedrive)\n##### [Create own One Drive credential step by step](https://github.com/mbrother2/butdr/wiki/Create-own-One-Drive-credential-step-by-step)\n\n### Backblaze( b2)\n##### [Create own Backblaze credential step by step](https://github.com/mbrother2/butdr/wiki/Create-own-Backblaze-credential-step-by-step)\n##### [Backblaze Create new bucket](https://github.com/mbrother2/butdr/wiki/Backblaze-Create-new-bucket)\n\n# Change log\nhttps://github.com/mbrother2/butdr/blob/master/CHANGLOG.md\n\n# Options\nRun command `bash butdr.bash --help` to show all options( After install you only need run `butdr.bash --help`\n```\nbutdr@ubuntu1804:~$ butdr.bash --help\nbutdr.bash - Backup to Cloud solution\n\nUsage: butdr.bash [option] [command]\n\nOptions:\n  --help          show this help message and exit\n  --setup         setup or reset all scripts \u0026 config file\n  --account       reset account\n    reset         reset all accounts\n  --config        config global or backup file\n    backup-single config backup file for single account\n    global        config global file\n    show          show all configs\n  --update        update butdr.bash \u0026 cron_backup.bash to latest version\n  --uninstall     remove all butdr scripts and /home/butdr/.config directory\n```\n\n###### 1. Setup\n`butdr.bash --setup`\nSetup or reset all scripts \u0026 config file\n##### Example\n```\nbutdr@ubuntu1804:~$ bash butdr.bash --setup\n[ 19/12/2019 12:03:27 ] ---\n[ 19/12/2019 12:03:27 ] Creating necessary directory...\n[ 19/12/2019 12:03:27 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 12:03:27 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 12:03:27 ] Create directory /home/butdr/.config/accounts successful\n[ 19/12/2019 12:03:27 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 12:03:27 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 12:03:27 ] Check write to /home/butdr/bin successful\n[ 19/12/2019 12:03:27 ] Checking OS...\n[ 19/12/2019 12:03:27 ] OS supported\n[ 19/12/2019 12:03:27 ] Checking necessary package...\n[ 19/12/2019 12:03:27 ] Package curl is installed\n[ 19/12/2019 12:03:27 ] Package unzip is installed\n[ 19/12/2019 12:03:27 ] Cheking network...\n[ 19/12/2019 12:03:27 ] Connect Github successful\n[ 19/12/2019 12:03:29 ] Connect rclone successful\n[ 19/12/2019 12:03:29 ] Downloading script cron_backup from github...\n[ 19/12/2019 12:03:29 ] Check md5sum for file cron_backup.bash successful\n[ 19/12/2019 12:03:30 ] Downloading script butdr from github...\n[ 19/12/2019 12:03:30 ] Check md5sum for file butdr.bash successful\n[ 19/12/2019 12:03:30 ] Downloading rclone from homepage...\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100 11.1M  100 11.1M    0     0   888k      0  0:00:12  0:00:12 --:--:-- 1183k\n[ 19/12/2019 12:03:43 ] Download rclone successful\n\nRead more: https://github.com/mbrother2/backuptogoogle/wiki/Create-own-Google-credential-step-by-step\n Your Google API client_id: xxxxxx\n Your Google API client_secret: xxxxxx\n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/Get-Google-folder-ID\n Your Google folder ID: 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n2019/12/19 13:35:04 NOTICE: Config file \"/home/butdr/.config/rclone/rclone.conf\" not found - using defaults\nRemote config\nUse auto config?\n * Say Y if not sure\n * Say N if you are working on a remote or headless machine\nAuto confirm is set: answering No, override by setting config parameter config_is_local=true\nIf your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline\u0026client_id=xxxxxx\u0026redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob\u0026response_type=code\u0026scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive\u0026state=A6Joak1v_mTJ_Yct8i3diQ\nLog in and authorize rclone for access\nEnter verification code\u003e 4/xxxxxx\n--------------------\n[googledrive]\ntype = drive\nroot_folder_id = 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\nconfig_is_local = false\nscope = drive\nclient_id = xxxxxx\nclient_secret = xxxxxx\ntoken = {\"access_token\":\"ya29.Il-xxxxxx\",\"token_type\":\"Bearer\",\"refresh_token\":\"1//xxxxxx\",\"expiry\":\"2019-12-19T14:35:26.759362203+07:00\"}\n--------------------\n\n Which directory on your server do you want to upload to account googledrive?(default /home/butdr/backup): \n How many days do you want to keep backup on Google Drive?(default 7): \n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/What-is-the-option-SYNC_FILE%3F\n Do you want only sync file(default no)(y/n): \n Do you want compress directory before upload?(default no)(y/n): \n[ 19/12/2019 13:35:31 ] Setup config file for account googledrive successful\n[ 19/12/2019 13:35:31 ] Setting up global config file...\n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/Turn-on-2-Step-Verification-\u0026-create-app's-password-for-Google-email\n Do you want to send email if upload error(default no)(y/n): \n[ 19/12/2019 13:35:31 ] Setup global config file successful\n\n[ 19/12/2019 13:35:31 ] Setting up cron backup...\n[ 19/12/2019 13:35:31 ] Cron backup existed. Skip\n\n[ 19/12/2019 13:35:31 ] +-----\n[ 19/12/2019 13:35:31 ] | SUCESSFUL! Your informations:\n[ 19/12/2019 13:35:31 ] |---\n[ 19/12/2019 13:35:31 ] | Your email         : None\n[ 19/12/2019 13:35:31 ] | Email password     : None\n[ 19/12/2019 13:35:31 ] | Email notify       : None\n[ 19/12/2019 13:35:31 ] | Global config file : /home/butdr/.config/butdr.conf\n[ 19/12/2019 13:35:32 ] |---\n[ 19/12/2019 13:35:32 ] | Account            : googledrive\n[ 19/12/2019 13:35:32 ] | Backup dir         : /home/butdr/backup\n[ 19/12/2019 13:35:32 ] | Keep backup        : 7 days\n[ 19/12/2019 13:35:32 ] | Google folder ID   : 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n[ 19/12/2019 13:35:32 ] | Sync file          : No\n[ 19/12/2019 13:35:32 ] | Tar before upload  : No\n[ 19/12/2019 13:35:32 ] +-----\n\nIMPORTANT: Please run command to use butdr: source /home/butdr/.profile \nIf you get trouble when use butdr.bash please report here:\nhttps://github.com/mbrother2/butdr/issues\n```\n\n###### 2. Account\n`butdr.bash --account reset`\nReset account\n##### Example\n```\nbutdr@ubuntu1804:~$ butdr.bash --account reset\n[ 19/12/2019 14:03:58 ] ---\n[ 19/12/2019 14:03:58 ] Creating necessary directory...\n[ 19/12/2019 14:03:58 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 14:03:58 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 14:03:58 ] Directory /home/butdr/.config/accounts existed. Skip\n[ 19/12/2019 14:03:58 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 14:03:58 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 14:03:58 ] Check write to /home/butdr/bin successful\n[ 19/12/2019 14:03:58 ] Creating googledrive account...\n\nRead more: https://github.com/mbrother2/backuptogoogle/wiki/Create-own-Google-credential-step-by-step\n Your Google API client_id: xxxxxx\n Your Google API client_secret: xxxxxx\n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/Get-Google-folder-ID\n Your Google folder ID: 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n2019/12/19 14:04:18 NOTICE: Config file \"/home/butdr/.config/rclone/rclone.conf\" not found - using defaults\nRemote config\nUse auto config?\n * Say Y if not sure\n * Say N if you are working on a remote or headless machine\nAuto confirm is set: answering No, override by setting config parameter config_is_local=true\nIf your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline\u0026client_id=xxxxxx\u0026redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob\u0026response_type=code\u0026scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive\u0026state=G33rjrgGHNXRKPs59H5JOQ\nLog in and authorize rclone for access\nEnter verification code\u003e 4/xxxxxx\n--------------------\n[googledrive]\ntype = drive\nconfig_is_local = false\nscope = drive\nclient_id = xxxxxx\nclient_secret = xxxxxx\nroot_folder_id = 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\ntoken = {\"access_token\":\"ya29.Il-xxxxxx\",\"token_type\":\"Bearer\",\"refresh_token\":\"1//xxxxxx\",\"expiry\":\"2019-12-19T15:04:43.403854207+07:00\"}\n--------------------\n\n[ 19/12/2019 14:04:43 ] +-----\n[ 19/12/2019 14:04:43 ] | SUCESSFUL! Your informations:\n[ 19/12/2019 14:04:43 ] |---\n[ 19/12/2019 14:04:43 ] | Account            : googledrive\n[ 19/12/2019 14:04:43 ] | Backup dir         : /home/butdr/backup\n[ 19/12/2019 14:04:43 ] | Keep backup        : 7 days\n[ 19/12/2019 14:04:43 ] | Google folder ID   : 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n[ 19/12/2019 14:04:43 ] | Sync file          : No\n[ 19/12/2019 14:04:43 ] | Tar before upload  : No\n[ 19/12/2019 14:04:43 ] +-----\n```\n\n###### 3. Config\n`butdr.bash --config backup-single`\nConfig backup file for single account\n##### Example\n```\nbutdr@ubuntu1804:~$ butdr.bash --config backup-single\n[ 19/12/2019 14:08:41 ] ---\n[ 19/12/2019 14:08:41 ] Creating necessary directory...\n[ 19/12/2019 14:08:41 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 14:08:41 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 14:08:41 ] Directory /home/butdr/.config/accounts existed. Skip\n[ 19/12/2019 14:08:41 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 14:08:41 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 14:08:42 ] Check write to /home/butdr/bin successful\n\n[ 19/12/2019 14:08:42 ] Setting up backup config file...\n\n Which directory on your server do you want to upload to account googledrive?(default /home/butdr/backup): /home/butdr/backup2\n How many days do you want to keep backup on Google Drive?(default 7): 30\n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/What-is-the-option-SYNC_FILE%3F\n Do you want only sync file(default no)(y/n): y\n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/Get-Google-folder-ID\nBecause you choose sync file method, so you must enter exactly Google folder ID here!\n Your Google folder ID(default None): 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n[ 19/12/2019 14:09:03 ] [WARNING] Directory /home/butdr/backup2 does not exist! Ensure you will be create it after.\n[ 19/12/2019 14:09:06 ] Setup config file for account googledrive successful\n\n[ 19/12/2019 14:09:06 ] +-----\n[ 19/12/2019 14:09:06 ] | SUCESSFUL! Your informations:\n[ 19/12/2019 14:09:06 ] |---\n[ 19/12/2019 14:09:06 ] | Account            : googledrive\n[ 19/12/2019 14:09:06 ] | Backup dir         : /home/butdr/backup2\n[ 19/12/2019 14:09:06 ] | Keep backup        : 30 days\n[ 19/12/2019 14:09:06 ] | Google folder ID   : 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n[ 19/12/2019 14:09:06 ] | Sync file          : Yes\n[ 19/12/2019 14:09:06 ] | Tar before upload  : No\n[ 19/12/2019 14:09:06 ] +-----\n```\n`butdr.bash --config global`\nConfig global file\n##### Example\n```\nbutdr@ubuntu1804:~$ butdr.bash --config global\n[ 19/12/2019 14:10:48 ] ---\n[ 19/12/2019 14:10:48 ] Creating necessary directory...\n[ 19/12/2019 14:10:48 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 14:10:49 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 14:10:49 ] Directory /home/butdr/.config/accounts existed. Skip\n[ 19/12/2019 14:10:49 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 14:10:49 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 14:10:49 ] Check write to /home/butdr/bin successful\n[ 19/12/2019 14:10:49 ] Setting up global config file...\n\nRead more https://github.com/mbrother2/backuptogoogle/wiki/Turn-on-2-Step-Verification-\u0026-create-app's-password-for-Google-email\n Do you want to send email if upload error(default no)(y/n): y\n Your Google email user name: backupxxxxxx@gmail.com\n Your Google email password: xxxxxx\n Which email will be receive notify?: backupxxxxxx@gmail.com\n[ 19/12/2019 14:11:11 ] Setup global config file successful\n\n[ 19/12/2019 14:11:11 ] +-----\n[ 19/12/2019 14:11:11 ] | SUCESSFUL! Your informations:\n[ 19/12/2019 14:11:11 ] |---\n[ 19/12/2019 14:11:11 ] | Your email         : backupxxxxxx@gmail.com\n[ 19/12/2019 14:11:11 ] | Email password     : xxxxxx\n[ 19/12/2019 14:11:11 ] | Email notify       : backupxxxxxx@gmail.com\n[ 19/12/2019 14:11:11 ] | Global config file : /home/butdr/.config/butdr.conf\n[ 19/12/2019 14:11:11 ] +-----\n```\n`butdr.bash --config show`\nShow all configs\n##### Example\n```\nbutdr@ubuntu1804:~$ butdr.bash --config show\n[ 19/12/2019 14:12:20 ] ---\n[ 19/12/2019 14:12:20 ] Creating necessary directory...\n[ 19/12/2019 14:12:20 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 14:12:20 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 14:12:20 ] Directory /home/butdr/.config/accounts existed. Skip\n[ 19/12/2019 14:12:20 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 14:12:20 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 14:12:20 ] Check write to /home/butdr/bin successful\n\n[ 19/12/2019 14:12:20 ] +-----\n[ 19/12/2019 14:12:20 ] | SUCESSFUL! Your informations:\n[ 19/12/2019 14:12:20 ] |---\n[ 19/12/2019 14:12:20 ] | Your email         : backupxxxxxx@gmail.com\n[ 19/12/2019 14:12:20 ] | Email password     : xxxxxx\n[ 19/12/2019 14:12:20 ] | Email notify       : backupxxxxxx@gmail.com\n[ 19/12/2019 14:12:20 ] | Global config file : /home/butdr/.config/butdr.conf\n[ 19/12/2019 14:12:20 ] |---\n[ 19/12/2019 14:12:20 ] | Account            : googledrive\n[ 19/12/2019 14:12:20 ] | Backup dir         : /home/butdr/backup2\n[ 19/12/2019 14:12:20 ] | Keep backup        : 30 days\n[ 19/12/2019 14:12:20 ] | Google folder ID   : 1TQwTpELBtA5SaIi8mIVzVJdcdv_GNzM3\n[ 19/12/2019 14:12:20 ] | Sync file          : Yes\n[ 19/12/2019 14:12:20 ] | Tar before upload  : No\n[ 19/12/2019 14:12:20 ] +-----\n```\n\n###### 4. Update\n`butdr.bash --update`\nUpdate butdr.bash \u0026 cron_backup.bash to latest version\n##### Example\n```\nbutdr@ubuntu1804:~$ butdr.bash --update\n[ 19/12/2019 14:12:52 ] ---\n[ 19/12/2019 14:12:52 ] Creating necessary directory...\n[ 19/12/2019 14:12:52 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 14:12:52 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 14:12:52 ] Directory /home/butdr/.config/accounts existed. Skip\n[ 19/12/2019 14:12:52 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 14:12:52 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 14:12:52 ] Check write to /home/butdr/bin successful\n[ 19/12/2019 14:12:52 ] Checking OS...\n[ 19/12/2019 14:12:52 ] OS supported\n[ 19/12/2019 14:12:52 ] Checking necessary package...\n[ 19/12/2019 14:12:52 ] Package curl is installed\n[ 19/12/2019 14:12:52 ] Package unzip is installed\n[ 19/12/2019 14:12:52 ] Cheking network...\n[ 19/12/2019 14:12:52 ] Connect Github successful\n[ 19/12/2019 14:12:52 ] Downloading script cron_backup from github...\n[ 19/12/2019 14:12:53 ] Check md5sum for file cron_backup.bash successful\n[ 19/12/2019 14:12:53 ] Downloading script butdr from github...\n[ 19/12/2019 14:12:54 ] Check md5sum for file butdr.bash successful\n[ 19/12/2019 14:12:54 ] [INFO] Update butdr successful\n```\n\n###### 5. Uninstall\n`butdr.bash --uninstall`\nRemove all butdr scripts and /home/butdr.config directory\n##### Example\n```\nbutdr@ubuntu1804:~$ butdr.bash --uninstall\n[ 19/12/2019 14:16:17 ] ---\n[ 19/12/2019 14:16:17 ] Creating necessary directory...\n[ 19/12/2019 14:16:17 ] Directory /home/butdr/.config existed. Skip\n[ 19/12/2019 14:16:17 ] Check write to /home/butdr/.config successful\n[ 19/12/2019 14:16:17 ] Directory /home/butdr/.config/accounts existed. Skip\n[ 19/12/2019 14:16:17 ] Check write to /home/butdr/.config/accounts successful\n[ 19/12/2019 14:16:17 ] Directory /home/butdr/bin existed. Skip\n[ 19/12/2019 14:16:17 ] Check write to /home/butdr/bin successful\n[ 19/12/2019 14:16:17 ] Removing all butdr.bash scripts...\n[ 19/12/2019 14:16:17 ] Remove all butdr.bash scripts successful\n Do you want remove /home/butdr/.config directory?(y/n) y\n[ 19/12/2019 14:16:22 ]Remove directory /home/butdr/.config successful\n```\n\n###### 6. Run cron_backup.bash\n`cron_backup.bash`\nRun upload to Google Drive immediately without show log\n\n`cron_backup.bash -v`\nRun upload to Google Drive immediately with show log detail\n##### Example\nBackup to cloud normaly\n```\nbutdr@ubuntu1804:~$ cron_backup.bash -v\n[ 19/12/2019 14:15:52 ] ---\n[ 19/12/2019 14:15:52 ] Checking OS...\n[ 19/12/2019 14:15:52 ] OS supported\n[ 19/12/2019 14:15:52 ] Start upload to Cloud...\n[ 19/12/2019 14:15:52 ] [googledrive] Checking Google folder ID...\n[ 19/12/2019 14:15:53 ] [googledrive] [INFO] Check Google folder ID successful\n[ 19/12/2019 14:15:53 ] [googledrive] Directory 19_12_2019 existed. Skipping...\n[ 19/12/2019 14:15:53 ] [googledrive] [INFO] You do not compress directory before upload\n[ 19/12/2019 14:15:53 ] [googledrive] Uploading from /home/butdr/backup2 to 19_12_2019 on Cloud\n[ 19/12/2019 14:16:07 ] [googledrive] [UPLOAD] Finish! All files and directories in /home/butdr/backup2 are uploaded to Cloud\n[ 19/12/2019 14:16:10 ] [googledrive] Directory 19_11_2019 does not exist. Nothing need remove!\n[ 19/12/2019 14:16:10 ] Finish! All files and directories are uploaded or synced to Cloud\n```\n\nBackup to cloud with SYNC_FILE=yes\n```\nbutdr@ubuntu1804:~$ cron_backup.bash -v\n[ 19/12/2019 14:14:08 ] ---\n[ 19/12/2019 14:14:08 ] Checking OS...\n[ 19/12/2019 14:14:08 ] OS supported\n[ 19/12/2019 14:14:08 ] Start upload to Cloud...\n[ 19/12/2019 14:14:08 ] [googledrive] Syncing /home/butdr/backup2 to Cloud...\n[ 19/12/2019 14:14:44 ] [googledrive] [SYNC] Finish! All files and directories in /home/butdr/backup2 are synced to Cloud\n[ 19/12/2019 14:14:44 ] Finish! All files and directories are uploaded or synced to Cloud\n```\n\nBackup to cloud with TAR_BEFORE_UPLOAD=Yes\n```\nbutdr@ubuntu1804:~$ cron_backup.bash -v\n[ 19/12/2019 14:15:18 ] ---\n[ 19/12/2019 14:15:18 ] Checking OS...\n[ 19/12/2019 14:15:18 ] OS supported\n[ 19/12/2019 14:15:18 ] Start upload to Cloud...\n[ 19/12/2019 14:15:18 ] [googledrive] Checking Google folder ID...\n[ 19/12/2019 14:15:19 ] [googledrive] [INFO] Check Google folder ID successful\n[ 19/12/2019 14:15:20 ] [googledrive] Directory 19_12_2019 does not exist. Creating...\n[ 19/12/2019 14:15:25 ] [googledrive] [CREATE] Created directory 19_12_2019 successful\n[ 19/12/2019 14:15:25 ] [googledrive] Compressing backup directory...\n[ 19/12/2019 14:15:25 ] [googledrive] [COMPRESS] Compress /home/butdr/backup2 successful\n[ 19/12/2019 14:15:25 ] [googledrive] Uploading backup2_NjkxNTQ4NTJlMDcw.tar.gz to directory 19_12_2019...\n[ 19/12/2019 14:15:28 ] [googledrive] [UPLOAD] Uploaded backup2_NjkxNTQ4NTJlMDcw.tar.gz to directory 19_12_2019\n[ 19/12/2019 14:15:28 ] [googledrive] Removing backup2_NjkxNTQ4NTJlMDcw.tar.gz after upload...\n[ 19/12/2019 14:15:28 ] [googledrive] [REMOVE] Remove backup2_NjkxNTQ4NTJlMDcw.tar.gz successful\n[ 19/12/2019 14:15:29 ] [googledrive] Directory 19_11_2019 does not exist. Nothing need remove!\n[ 19/12/2019 14:15:29 ] Finish! All files and directories are uploaded or synced to Cloud\n```\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbrother2%2Fbutdr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbrother2%2Fbutdr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbrother2%2Fbutdr/lists"}