Connection
server = DO::Server.new('srv1', 'srv1.domain.local', 'root', :key =>
%w[srv1.pem]
Run
server.run 'uname'
server.run 'uname', '-a'
server.run 'mysqladmin -u root -p password "oldone"', 'newpassword'
Files
server.exist?('~/.ssh')
server.read('/etc/redhat-release')
Upload/download
server.upload '/tmp/file', '/tmp/foo'
# root@srv1 ~ # upload from '/tmp/file' to '/tmp/foo'
server.download '/tmp/foo', '/tmp/file2'
# root@srv1 ~ # download from '/tmp/foo' to '/tmp/file2'
Replace
server.replace :all, 'new content', '/tmp/file'
server.read('/tmp/foo')
Replace via regex
server.replace /content$/, 'changed content', '/tmp/foo'
server.read('/tmp/foo')
Append
server.append('appended', '/tmp/foo')
# root@srv1 ~ # append to 'bottom' in '/tmp/foo'
server.read('/tmp/foo')
# root@srv1 ~ # cat /tmp/foo
# => "new changed contentappended"
Append to top
server.append('---', '/tmp/foo', :top)
server.read('/tmp/foo')
Prompt
server.ask "Please choose"
server.yes? "Do you want to proceed"
server.wait