Readable Time – PHP, given a UNIX timestamp, return a readable time # Given a unix timestamp, returns in readable time ie “1 day, 7 hours, 23 minutes, 2 seconds” function readable_time($timestamp, $num_times = 2) { //this returns human readable time when it was uploaded (array in seconds) $times = array(31536000 => ‘year’, 2592000 => […]
Add a timestamp to every STDOUT line I found this useful for debugging and just handy to have in the toolbox. Alias within your profile! Use: ./anyscript_you_choose | ./addtime [perl] #!/bin/perl -w # filename: ./addtime my($old)=select(STDOUT); $|=1; select(STDIN); $|=1; select ($old); while(<>) { my($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)= localtime (time); printf “%02d:%02d:%4d %02d:%02d:%02d %s”,$mday,$mon+1,$year+1900,$hour,$min,$sec,$_; } [/perl]
Perl – Get the md5 hash for a file Get the MD5 hash for a file on the command line, using Digest::MD5 usage: ./md5sum.pl [filename] [-f] -f do not display filename [perl] use warnings; use strict; use Digest::MD5; sub md5sum { my $file = shift; my $digest = “”; eval{ open(FILE, $file) or die “Can’t […]
Server Port Check – Net::Telnet, check remote mail server is up and online This is pretty useful for checking that a server is accepting requests on a specific port. In this case, i am checking port 25, but can be used for others. ./smtp_check.pl <host> <host> <host> [perl] use Data::Dumper; use Net::SMTP; my @all_emails = […]
Get HTTP Code Response – Perl Pass the script many hosts and obtain the HTTP response codes for the pages. [bash] ./http_check.pl … [/bash] [perl] use LWP::UserAgent; print get_url($url); sub get_url ($) { my $url = shift; my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new(GET => $url); my $res = $ua->request($req); return $res->code; } ##Some […]
Select the next available value in a table Let’s say I have a table like this: ID Value ———————- 100 val1 101 val2 104 val3 105 val4 107 val5 [sql] SELECT Min(r1.uid) + 1 AS next_available_uid FROM unixuid AS r1 LEFT OUTER JOIN unixuid AS r2 ON r2.uid = r1.uid + 1 WHERE r1.uid > […]
Copying a filesystem with Veritas This procedure is to create an exact copy of a Veritas filesystem. You will need enough spare disks in your volume group, and ideally anything using the filesystem should be killed. create a mirror # vxassist -g tier3dg mirror tier3fs # vxprint tier3fs Disk group: tier3dg TY NAME ASSOC KSTATE […]
Given a size in KB, try to return a more readable MB, GB or TB answer string
Given a size in KB, try to return a more readable MB, GB or TB answer string function readable_size_for_kb($mykb) { if ( $mykb > 1073741824 ) { return sprintf(“%5.1f TB”,$mykb / 1024 / 1024/1024); } elseif ( $mykb > 1048576 ) { return sprintf(“%5.1f GB”,$mykb / 1024 / 1024); } elseif ( $mykb > 1024 […]
Readable Time – PHP, given a unix timestamp, return a readable time
Readable Time – PHP, given a UNIX timestamp, return a readable time # Given a unix timestamp, returns in readable time ie “1 day, 7 hours, 23 minutes, 2 seconds” function readable_time($timestamp, $num_times = 2) { //this returns human readable time when it was uploaded (array in seconds) $times = array(31536000 => ‘year’, 2592000 => […]
Add a timestamp to every STDOUT line
Add a timestamp to every STDOUT line I found this useful for debugging and just handy to have in the toolbox. Alias within your profile! Use: ./anyscript_you_choose | ./addtime [perl] #!/bin/perl -w # filename: ./addtime my($old)=select(STDOUT); $|=1; select(STDIN); $|=1; select ($old); while(<>) { my($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)= localtime (time); printf “%02d:%02d:%4d %02d:%02d:%02d %s”,$mday,$mon+1,$year+1900,$hour,$min,$sec,$_; } [/perl]
Perl – Get the md5 hash for a file
Perl – Get the md5 hash for a file Get the MD5 hash for a file on the command line, using Digest::MD5 usage: ./md5sum.pl [filename] [-f] -f do not display filename [perl] use warnings; use strict; use Digest::MD5; sub md5sum { my $file = shift; my $digest = “”; eval{ open(FILE, $file) or die “Can’t […]
Server Port Check – Net::Telnet, check remote mail server is up and online
Server Port Check – Net::Telnet, check remote mail server is up and online This is pretty useful for checking that a server is accepting requests on a specific port. In this case, i am checking port 25, but can be used for others. ./smtp_check.pl <host> <host> <host> [perl] use Data::Dumper; use Net::SMTP; my @all_emails = […]
Get HTTP Code Response – Perl
Get HTTP Code Response – Perl Pass the script many hosts and obtain the HTTP response codes for the pages. [bash] ./http_check.pl … [/bash] [perl] use LWP::UserAgent; print get_url($url); sub get_url ($) { my $url = shift; my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new(GET => $url); my $res = $ua->request($req); return $res->code; } ##Some […]
Select the next available value in a table
Select the next available value in a table Let’s say I have a table like this: ID Value ———————- 100 val1 101 val2 104 val3 105 val4 107 val5 [sql] SELECT Min(r1.uid) + 1 AS next_available_uid FROM unixuid AS r1 LEFT OUTER JOIN unixuid AS r2 ON r2.uid = r1.uid + 1 WHERE r1.uid > […]
ASHRAE
ASHRAE ASHRAE. – American Society of Heating, Refrigerating and Air-Conditioning Engineers
Datacentre – classifications
Datacentre – classifications Tier Level Requirements 1 Single non-redundant distribution path serving the IT equipment Non-redundant capacity components Basic site infrastructure guaranteeing 99.671% availability 2 Fulfils all Tier 1 requirements Redundant site infrastructure capacity components guaranteeing 99.741% availability 3 Fulfils all Tier 1 & Tier 2 requirements Multiple independent distribution paths serving the IT equipment […]
Copying a filesystem with Veritas
Copying a filesystem with Veritas This procedure is to create an exact copy of a Veritas filesystem. You will need enough spare disks in your volume group, and ideally anything using the filesystem should be killed. create a mirror # vxassist -g tier3dg mirror tier3fs # vxprint tier3fs Disk group: tier3dg TY NAME ASSOC KSTATE […]