Class: Container::Backup::Mysql
- Inherits:
-
Directories
- Object
- Step
- Directories
- Container::Backup::Mysql
- Defined in:
- lib/container/steps/databases.rb
Instance Method Summary collapse
Methods inherited from Directories
#backup_volume, #recover_volume, #remove_volume, #start, #stop, #tar_volume
Methods inherited from Step
#backup_path, #container, #image, #initialize, #params, #perform
Constructor Details
This class inherits a constructor from Container::Backup::Step
Instance Method Details
#backup ⇒ Object
5 6 7 8 9 10 |
# File 'lib/container/steps/databases.rb', line 5 def backup # eval "ssh ru-dm.aegean.gr 'mysqldump --force --routines -h localhost -u root -p$mysql_root_password ele > ele_dev.sql'" #eval "ssh ru-vm2.aegean.gr 'scp ru-dm.ru.aegean.gr:~/ele_dev.sql /tmp/ele_dev.sql'" mkdir_p(backup_path) sh "docker exec #{container} sh -c 'mysqldump --force --routines -h localhost -u root -p#{params['password']} #{params['db']} > /#{backup_path}/#{params['db']}.sql'" end |
#restore ⇒ Object
11 12 13 14 15 16 |
# File 'lib/container/steps/databases.rb', line 11 def restore # user == db sh "docker exec #{container} sh -c 'echo \"DROP USER \'#{params['db']}\'@'%\' ;DROP DATABASE #{params['db']};\" | mysql -u root -p#{params['password']}'" sh "docker exec #{container} sh -c 'echo \"CREATE DATABASE #{params['db']};CREATE USER \'#{params['user']}\'@\'%\' IDENTIFIED BY \'#{params['password']}\';GRANT ALL PRIVILEGES ON *.* TO \'#{params['user']}\'@\'%\';FLUSH PRIVILEGES;\" | mysql -u root -p#{params['password']}'" sh "docker exec #{container} sh -c 'mysql -u root -p#{params['password']} #{params['db']} < /#{backup_path}/#{params['db']}.sql'" end |