class LSync::Methods::RSyncSnapshot

Public Instance Methods

inprogress_path() click to toggle source
# File lib/lsync/methods/rsync.rb, line 142
def inprogress_path
        @options[:inprogress_path] || "backup.inprogress"
end
run(controller) click to toggle source
# File lib/lsync/methods/rsync.rb, line 146
def run(controller)
        directory = controller.directory
        arguments = (@options[:arguments] || []) + (directory.options[:arguments] || [])
        
        link_dest = Pathname.new("../" * (directory.path.depth + 1)) + "latest" + directory.path
        arguments += ['--archive', '--link-dest', link_dest.to_s]

        destination_directory = File.join(inprogress_path, directory.path)

        local_server, remote_server, source, destination = configuration(controller, controller.directory, destination_directory)

        arguments += connect_arguments(local_server, remote_server)

        # Create the destination backup directory
        controller.target.exec!(["mkdir", "-p", controller.target.full_path(destination_directory)])

        run_handler(controller, local_server, source, destination, arguments)
end