Register |
| Unregistered users click here to register registered users can post their website here |
Science Humor: |
Understanding is always the understanding of a smaller problem
in relation to a bigger problem.
-- P.D. Ouspensky
|
Chuck Norris Humor: |
Before science was invented it was once believed that autumn occurred when Chuck Norris roundhouse kicked every tree in existence.
|
|
 |
| Regenerate a id_rsa.pub key from a private id_rsa key - |
|---|
ssh-keygen -y -f id_rsa >id_rsa.pub
|
| Password-less ssh login - |
|---|
// description of your code here
http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html
|
| How to create an alias in Unix systems - |
|---|
// go to our home path, edit the '.profile' file and append the next line
alias ll='ls -ltr'
|
| Execute a Unix Command with Node.js - |
|---|
// http://nodejs.org/api.html#_child_processes var sys = require('sys') var exec = require('child_process').exec; var child;
// executes `pwd` child = exec("pwd", function (error, stdout, stderr) { sys.print('stdout: ' + stdout); sys.print('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } });
// or more concisely
var sys = require('sys') var exec = require('child_process').exec; function puts(error, stdout, stderr) { sys.puts(stdout) } exec("ls -la", puts);
|
| Tail Log Output with Node.js - |
|---|
// http://nodejs.org/api.html#_child_processes var sys = require('sys') var spawn = require('child_process').spawn; var filename = process.ARGV[2];
if (!filename) return sys.puts("Usage: node ");
var tail = spawn("tail", ["-f", filename]); sys.puts("start tailing");
tail.stdout.on("data", function (data) { sys.puts(data); });
// node tail.js development.log |
| faster line count with grep rather than wc - |
|---|
wc can be dramatically slower than desirable if all you want is a count of lines in a file (e.g., ~6 minutes vs. the grep technique shown below, which took 10 seconds).
grep -c '\n' filename
|
| epoch2gmt - |
|---|
Convert Unix time string to a date/time group
#!/usr/bin/perl
use warnings; use strict;
my $time = shift;
die "Usage: $0 [TIME_IN_SECS_SINCE_EPOCH]\n" unless $time; if ( length($time) >10 ) { $time = substr($time, 0, 10); }
my @mon = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); my @day = qw( Sun Mon Tue Wed Thu Fri Sat );
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($time);
printf "%4d-%02d-%02d %02d:%02d:%02d (%s %02d %s %04d)\n", $year + 1900, $mon + 1, $mday, $hour, $min, $sec, $day[$wday], $mday, $mon[$mon], $year + 1900;
|
| unix domain socket client - |
|---|
// description of your code here
#include #include #include #include #include #define UNIX_DOMAIN "/tmp/UNIX.domain" int main(void) { int connect_fd; int ret; char snd_buf[1024]; int i; static struct sockaddr_un srv_addr; //creat unix socket connect_fd=socket(PF_UNIX,SOCK_STREAM,0); if(connect_fd<0) { perror("cannot create communication socket"); return 1; } srv_addr.sun_family=AF_UNIX; strcpy(srv_addr.sun_path,UNIX_DOMAIN); //connect server ret=connect(connect_fd,(struct sockaddr*)&srv_addr,sizeof(srv_addr)); if(ret==-1) { perror("cannot connect to the server"); close(connect_fd); return 1; } memset(snd_buf,0,1024); strcpy(snd_buf,"message from client"); //send info server for(i=0;i<4;i++) write(connect_fd,snd_buf,sizeof(snd_buf)); close(connect_fd); return 0; }
|
| unix domain socket server - |
|---|
// description of your code here
#include #include #include #include #include #include #include #include #include #define UNIX_DOMAIN "/tmp/UNIX.domain" int main(void) { socklen_t clt_addr_len; int listen_fd; int com_fd; int ret; int i; static char recv_buf[1024]; socklen_t len; struct sockaddr_un clt_addr; struct sockaddr_un srv_addr; listen_fd=socket(PF_UNIX,SOCK_STREAM,0); if(listen_fd<0) { perror("cannot create communication socket"); return 1; }
//set server addr_param srv_addr.sun_family=AF_UNIX; strncpy(srv_addr.sun_path,UNIX_DOMAIN,sizeof(srv_addr.sun_path)-1); //unlink(UNIX_DOMAIN);
//bind sockfd &addr ret=bind(listen_fd,(struct sockaddr*)&srv_addr,sizeof(srv_addr)); if(ret==-1) { perror("cannot bind server socket"); close(listen_fd); unlink(UNIX_DOMAIN); return 1; } //listen sockfd ret=listen(listen_fd,1); if(ret==-1) { perror("cannot listen the client connect request"); close(listen_fd); unlink(UNIX_DOMAIN); return 1; } printf("server started...\n"); //have connect request use accept len=sizeof(clt_addr); com_fd=accept(listen_fd,(struct sockaddr*)&clt_addr,&len); if(com_fd<0) { perror("cannot accept client connect request"); close(listen_fd); unlink(UNIX_DOMAIN); return 1; } //read and printf sent client info printf("\n=====info=====\n"); for(i=0;i<4;i++) { memset(recv_buf,0,1024); int num=read(com_fd,recv_buf,sizeof(recv_buf)); printf("Message from client (%d)) :%s\n",num,recv_buf); } close(com_fd); close(listen_fd); unlink(UNIX_DOMAIN); return 0; }
|
| Low disk alert - |
|---|
#!/bin/bash # Tested Under FreeBSD and OS X FS="/usr" THRESHOLD=90 OUTPUT=($(LC_ALL=C df -P ${FS})) CURRENT=$(echo ${OUTPUT[11]} | sed 's/%//') [ $CURRENT -gt $THRESHOLD ] &&echo "$FS file system usage $CURRENT" | mail -s "$FS file system" you@example.com
| |
|