Skip to content

Instantly share code, notes, and snippets.

View huskercane's full-sized avatar

Rohit Singh huskercane

  • NinjaOne
  • United States
  • 05:24 (UTC -05:00)
View GitHub Profile
@huskercane
huskercane / ruby_sffp_ssh_key.rb
Last active October 20, 2021 00:13
Use ruby net-sftp or net-ssh with private key authentication
require 'net/sftp'
SERVER = "127.0.0.0"
KEY_FILE = "/tmp/id_rsa"
Net::SFTP.start(SERVER, 'huskercane', :keys=>[KEY_FILE]) do |sftp|
sftp.mkdir! "/tmp/something"
#thats right needs full file name to copy
sftp.upload!("/tmp/something/something.txt", "/tmp/something/something.txt")
end
@huskercane
huskercane / backupfiles.sh
Created July 29, 2014 15:03
Function to backup files with current date and time
function backupfile(){
OF=$1-$(date +%Y%m%d-%H:%M:%S)
cp $1 $OF
}
@huskercane
huskercane / python_java_time.py
Created July 29, 2014 15:08
Convert from java timestamp to python datetime and vice versa
def _convert_java_millis(java_time_millis):
"""Provided a java timestamp convert it into python date time object"""
ds = datetime.datetime.fromtimestamp(
int(str(java_time_millis)[:10])) if java_time_millis else None
ds = ds.replace(hour=ds.hour,minute=ds.minute,second=ds.second,microsecond=int(str(java_time_millis)[10:]) * 1000)
return ds
def _convert_datetime_java_millis(st):
"""Provided a python datetime object convert it into java millis"""
@huskercane
huskercane / restclient.clj
Created July 29, 2014 15:17
A sample rest client in clojure
(ns restclient.core
(:require [clj-http.client :as client]))
(defn get_tasks_json []
;; (client/get "https://172.21.0.32/admin/resources/backup"
;; {:basic-auth ["admin" "admin"]
(client/get "https://172.16.65.143/resources/tasks"
{:basic-auth ["cbadmin" "cbadmin"]
:content-type :json
@huskercane
huskercane / JscLogger.java
Created July 29, 2014 15:26
Logger for jsch
class JschLogger implements com.jcraft.jsch.Logger{
private static Class CLASS_NAME = JschLogger.class;
@Override
public boolean isEnabled(int level) {
return true;
}
@Override
public void log(int level, String message) {
@huskercane
huskercane / download_file.py
Created July 29, 2014 15:51
Download large file
print "Downloading Log file to %s" % local_filename
# NOTE the stream=True parameter
# print local_filename
r = s.get('%s%s/%s?download' % (host, uri, joburi), verify=False, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
@huskercane
huskercane / server_password.rb
Created July 29, 2014 20:16
Use SoftLayer API to get password for a server created
require 'softlayer_api'
require 'pp'
softlayer_client = SoftLayer::Client.new()
account = SoftLayer::Account.account_for_client(softlayer_client)
servers = SoftLayer::VirtualServer.find_servers(:client => softlayer_client, :object_mask => "mask[id,primaryBackendIpAddress,primaryIpAddress, hostname, domain, operatingSystem[passwords]]")
details = servers.map do |server|
puts server['id'], server['primaryBackendIpAddress'], server['primaryIpAddress']
@huskercane
huskercane / cancel_server.rb
Created July 29, 2014 20:19
Use SoftLayer API to cancel a server created
require 'softlayer_api'
require 'pp'
softlayer_client = SoftLayer::Client.new()
account = SoftLayer::Account.account_for_client(softlayer_client)
hn = "#{ARGV[0]}"
puts hn
servers = SoftLayer::VirtualServer.find_servers(:client => softlayer_client, :hostname => hn, :object_mask => "mask[id, hostname]")
@huskercane
huskercane / list_locations.rb
Created July 29, 2014 20:28
List SoftLayer Data Center Locations
require 'softlayer_api'
require 'pp'
softlayer_client = SoftLayer::Client.new()
datacenter_service = softlayer_client[:Location]
datacenters = datacenter_service.getDatacenters
puts datacenters
@huskercane
huskercane / image_template_in_other_locations.rb
Created July 29, 2014 20:31
Copy Image Template to other data centers
require 'softlayer_api'
require 'pp'
softlayer_client = SoftLayer::Client.new()
account_service = softlayer_client['Account']
image_service = softlayer_client['Virtual_Guest_Block_Device_Template_Group']
xx = account_service.getPrivateBlockDeviceTemplateGroups()