Advertisement
Guest User

Untitled

a guest
Sep 7th, 2017
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #!/bin/sh
  2. doc_root=$1
  3. name=$2
  4. if [ -z $doc_root ]; then
  5. echo Usage: $0 /path/to/document/root [backup_name]
  6. exit
  7. fi
  8.  
  9. if [ -z $name ]; then
  10. name=backup
  11. fi
  12.  
  13. dbconn=$doc_root/bitrix/php_interface/dbconn.php
  14.  
  15. readcfg() {
  16. grep $1 $dbconn | sed 's/.*"\(.*\)".*/\1/'
  17. }
  18.  
  19. host=`readcfg DBHost`
  20. username=`readcfg DBLogin`
  21. password=`readcfg DBPassword`
  22. database=`readcfg DBName`
  23.  
  24. utf=`grep 'BX_UTF' $dbconn | grep true`
  25.  
  26. if [ -z "$utf" ]; then
  27. charset=cp1251
  28. else
  29. charset=utf8
  30. fi
  31.  
  32. backup_dir=$doc_root/bitrix/backup
  33.  
  34. if [ ! -e $backup_dir ]; then
  35. mkdir $backup_dir
  36. fi
  37.  
  38. cd $doc_root &&
  39. mysqldump -h$host -u$username -p$password --default-character-set=$charset $database | xz -C crc32 -0 | split -a 4 -b 100M -d - $backup_dir/$name.sql.xz_
  40.  
  41.  
  42. function getValueFromINI() {
  43. local sourceData=$1; local paramName=$2;
  44. echo $(echo "$sourceData" | sed -n '/^'$paramName'\ =\(.*\)$/s//\1/p' | tr -d "\r" | tr -d "\n");
  45. }
  46.  
  47. sectionContent=$(sed -n '/^\[cloud\]/,/^\[/p' /opt/sMonit/config.ini | sed -e '/^\[/d' | sed -e '/^$/d');
  48. login=$(getValueFromINI "$sectionContent" "login");
  49. userkey=$(getValueFromINI "$sectionContent" "password");
  50. storage_dir=$(getValueFromINI "$sectionContent" "dir");
  51.  
  52. /opt/backup/supload.sh -u $login -k $userkey -r $storage_dir/`date +%Y-%m-%d-%H:%M`_DB_Only $backup_dir &&
  53. && rm -rf $backup_dir/$name.sql.xz_* && echo OK && exit
  54. echo Error
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement