Kilka sztuczek konsolowych

Sun 30 May 2010 by admin

Tytułowe sztuczki to efekt poszukiwań wydajniejszych i szybszych metod uporania sie codziennymi zadaniami  administracyjnymi.

Pierwszy problem to jak przy pomocy jednolinijkowca a w zasadzie jednego polecenia porównać dwa katalogi:

diff -q -r /dir1 /dir2

owszem to samo zadanie można wykonać przy pomocy chociażby rsync'a lub skorzystać z systemów IDS chociażby tripwire,samhain.

Drugi problem to jak przysłać np. plik z hostA do hostB nie wysycając całego dostępnego pasma oraz nie zużywając dużej ilości zasobów:

hostA# gzip -c file.1 | pv -L <limit_bajt/s> > /dev/tcp/<hostb_ip>/<hostb_port>
hostB# nc -l <hostb_port | gunzip > file.1

Trzeci problem jak w bash'u napisać skrypt, do którego argumenty podajemy w następujący sposób: <nazwa_skryptu> -a -b <parm1>:

#!/bin/bash
args=`getopt ab: $*`
set -- $args
for i do
 case "$i" in
 -a) PARM1=1; shift ;;
 -b) PARM2=$2; shift; shift ;;
 --) shift; break ;;
 esac
done
echo "-a $PARM1"
echo "-b $PARM2"

Comments