Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- # Can set the below three as environment variables or uncomment to set actual paths
- # NEXTCLOUD_PATH=<NEXTCLOUD_INSTALLATION_PATH>
- # DROPBOX_NEXTCLOUD_PATH=<PATH_TO_NEXTCLOUD_BACKUP_FOLDER_IN_DROPBOX>
- # MYSQL_CREDENTIALS_FILE=<MYSQL_CREDENTIALS_FILE_CONF_FORMAT>
- PHP_PATH=`which php`
- MYSQLDUMP_PATH=`which mysqldump`
- # Enable Maintenance mode
- $PHP_PATH $NEXTCLOUD_PATH/occ maintenance:mode --on
- # Backup data, config and themes from nextcloud directory.
- # Can sync the entire nextcloud directory if needed
- rsync -Aavx $NEXTCLOUD_PATH/data $DROPBOX_NEXTCLOUD_PATH
- rsync -Aavx $NEXTCLOUD_PATH/config $DROPBOX_NEXTCLOUD_PATH
- rsync -Aavx $NEXTCLOUD_PATH/themes $DROPBOX_NEXTCLOUD_PATH
- # Backup MySQL
- $MYSQLDUMP_PATH --defaults-extra-file=$MYSQL_CREDENTIALS_FILE --single-transaction --databases nextcloud > $DROPBOX_NEXTCLOUD_PATH/database/nc-db-bkp_`date +"%Y-%m-%d-%H-%M"`.bak
- # Update permissions of the backup path to 777 (Because the user running nextcloud is different.)
- chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/data
- chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/config
- chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/themes
- chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/database
- # Disable Maintenance mode
- $PHP_PATH $NEXTCLOUD_PATH/occ maintenance:mode --off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement