Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. # Can set the below three as environment variables or uncomment to set actual paths
  4. # NEXTCLOUD_PATH=<NEXTCLOUD_INSTALLATION_PATH>
  5. # DROPBOX_NEXTCLOUD_PATH=<PATH_TO_NEXTCLOUD_BACKUP_FOLDER_IN_DROPBOX>
  6. # MYSQL_CREDENTIALS_FILE=<MYSQL_CREDENTIALS_FILE_CONF_FORMAT>
  7.  
  8. PHP_PATH=`which php`
  9. MYSQLDUMP_PATH=`which mysqldump`
  10. # Enable Maintenance mode
  11. $PHP_PATH $NEXTCLOUD_PATH/occ maintenance:mode --on
  12.  
  13. # Backup data, config and themes from nextcloud directory.
  14. # Can sync the entire nextcloud directory if needed
  15. rsync -Aavx $NEXTCLOUD_PATH/data $DROPBOX_NEXTCLOUD_PATH
  16. rsync -Aavx $NEXTCLOUD_PATH/config $DROPBOX_NEXTCLOUD_PATH
  17. rsync -Aavx $NEXTCLOUD_PATH/themes $DROPBOX_NEXTCLOUD_PATH
  18.  
  19. # Backup MySQL
  20. $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
  21.  
  22. # Update permissions of the backup path to 777 (Because the user running nextcloud is different.)
  23. chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/data
  24. chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/config
  25. chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/themes
  26. chmod -R 777 $DROPBOX_NEXTCLOUD_PATH/database
  27.  
  28. # Disable Maintenance mode
  29. $PHP_PATH $NEXTCLOUD_PATH/occ maintenance:mode --off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement