class DockerComposeDeploy::Actions::Backup

Public Instance Methods

save() click to toggle source
# File lib/docker_compose_deploy/actions/backup.rb, line 5
def save
  shell.notify("Backing up remote ./sites/data directory")
  shell.notify("This may take a while...")
  shell.run!("mkdir -p ./backups")

  shell.ssh!("mkdir -p ./sites/backups")
  shell.ssh!("tar -zcvf ./sites/backups/#{filename} ./sites/data")
  shell.scp!("#{connection}:./sites/backups/#{filename}", "./backups/#{filename}")
  shell.ssh!("rm ./sites/backups/#{filename}")

  shell.notify "success"
end

Private Instance Methods

connection() click to toggle source
# File lib/docker_compose_deploy/actions/backup.rb, line 38
def connection
  DockerComposeDeploy.config.connection
end
filename() click to toggle source
# File lib/docker_compose_deploy/actions/backup.rb, line 26
def filename
  @filename ||= begin
    time_str = Time.now.strftime("%Y-%m-%d_%H.%M.%S")

    "backup__#{connection}__#{time_str}.tar.gz"
  end
end
tmp_dir() click to toggle source
# File lib/docker_compose_deploy/actions/backup.rb, line 20
def tmp_dir
  @tmp_dir ||= "./tmp".tap do |dir|
    FileUtils.mkdir_p(dir)
  end
end
tmp_file_path() click to toggle source
# File lib/docker_compose_deploy/actions/backup.rb, line 34
def tmp_file_path
  File.join(tmp_dir, filename)
end