class Container::Backup::Directories
Public Instance Methods
backup()
click to toggle source
# File lib/container/steps/directories.rb, line 17 def backup stop mkdir_p(backup_path) backup_volume start end
backup_volume()
click to toggle source
# File lib/container/steps/directories.rb, line 30 def backup_volume tar_volume('c') end
recover_volume()
click to toggle source
# File lib/container/steps/directories.rb, line 34 def recover_volume tar_volume('x') end
remove_volume()
click to toggle source
# File lib/container/steps/directories.rb, line 38 def remove_volume puts "Remove all files from #{volume} (y/n)?" if gets.chomp == 'y' sh "docker run --rm --volumes-from #{container} ubuntu bash -c \"rm -rf #{volume}\"" else exit end end
restore()
click to toggle source
# File lib/container/steps/directories.rb, line 24 def restore stop remove_volume recover_volume start end
start()
click to toggle source
# File lib/container/steps/directories.rb, line 9 def start sh "#{DockerCompose.docker_compose} up -d #{container}" end
stop()
click to toggle source
-
“backup={directories: [/var/www/html/libraries, /var/www/html/modules, /var/www/html/profiles, /var/www/html/themes, /var/www/html/sites]}”
# File lib/container/steps/directories.rb, line 5 def stop sh "#{DockerCompose.docker_compose} stop #{container}" end
tar_volume(option)
click to toggle source
# File lib/container/steps/directories.rb, line 13 def tar_volume(option) raise "Invalid tar option #{option}" unless option =~ /\A[cx]\z/ sh "docker run --rm --volumes-from #{container} -v #{backup_path}:/backup ubuntu bash -c \"cd #{volume} && tar #{option}vf /backup/#{volume}.tar #{option == 'c' ? ' .' : ''}\"" end