Linux okosságok

Yum-mal telepített csomagok listázása log fájlból

cat /var/log/yum.log | sed "s#.\+: \?\(.\+\)#\1#" | sort

Disk perf. teszt DD-vel

#!/bin/bash
echo -n "Fajl nev: "
read FNEV
echo -n "Blokk meret (Byte): "
read BS
echo -n "Fajl meret (MByte): "
read FS
COUNT=$((FS*1024*1024 / $BS))
COUNT=$(echo $COUNT | sed 's/\..*$/g/')
echo -n "Diszk irasa (dd if=/dev/zero of=$FNEV bs=$BS count=$COUNT)… "
SEC=$(timex dd if=/dev/zero of=$FNEV bs=$BS count=$COUNT 2>&1 | awk '/real/{print $2}' | awk -F'.' '{print $1}')
echo "$(($FS / $SEC)) MB/s"

BOOT probléma

GRUB menüben a „quiet” paraméter helyére „dracut rdshell”-t betenni

~/.vimrc

set number background=dark
syntax on
highlight Comment    ctermfg=119
highlight Identifier ctermfg=99AA00
set ts=4 sw=4
undolevels=1000

RAID megoldások

MYSQL mentés

Mentés (/etc/mysql/debian.cnf is kell a jelszó miatt):

mysqldump -u root -ptitok --single-transaction --opt --all-databases -R

Visszaállítás:

mysql -u root -ptitok -B adatbazis < mentes.sql

LVM snapshot készítés

lvdisplay -C -olv_name,lv_path --noheadings
lvcreate -s -L 1G -n blabla /dev/vg/blablalv
lvdisplay -C -S lv_role=snapshot

sudo jog másik userhez

non-root-user ALL = (appuser) NOPASSWD: ALL

NMON adatgyűjtés

#!/bin/sh

if [ $? -ne 0 ]; then exit 1; fi
ps -ef | grep '[n]mon ' | awk '{print $2}' | while read PID; do kill $PID; done
find /tmp/nmon/$(hostname)_* -type f -maxdepth 1 -mtime +30 -exec rm -f {} \;
# vagy betomoritve:
# find /tmp/nmon/$(hostname)_* -type f -maxdepth 1 -mtime +30 -print0 | xargs -0 tar zcvf $(hostname)_blabla.tar.gz

# Mintaveteli periodus (masodperc)
INTERVAL=60
# Meres idotartama (ora)
DURA=24

SAMPLES=`expr $DURA \* 3600 / $INTERVAL`
cd /tmp/nmon
nmon -f -s $INTERVAL -c $SAMPLES

Email címek extraktálása AIX alatt

perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&\n"}'

Hiányzik az "add-apt-repository":

sudo apt-get install --reinstall python-software-properties && sudo dpkg-reconfigure python-software-properties

Java install:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
java -version

Mennyi helyet foglal egy bizonyos fájl csoport?

find / -name "*\.trc" -print0 | du --files0-from=- -hc | tail -n1

Milyen felbontásokat támogat a webcam?

$ lsusb
  Bus 001 Device 002: ID 5986:0241 Acer, Inc BisonCam, NB Pro
$ lsusb -s 001:002 -v | egrep "Width|Height"
  wWidth    640
  wHeight   480
  wWidth    1280
  wHeight   1024
...

Helyhasználat listázása fájlrendszerben userenként

find / -printf '%u %k\n' | awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'

SWAP használat listázása processzenként

#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
echo "Swappiness: $(cat /proc/sys/vm/swappiness)"
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL"

Törölt fájlok, amik nem szabadították még fel a helyet

lsof |(sed 1q; grep deleted)
  

Hosszú processz végeztéről értesítő email

#!/bin/bash
MAILTO="rvenyige@pcs.hu,pagoston@pcs.hu"
SSH="ssh -i /home/pagoston/.ssh/id_rsa pagoston@sapeltora "
while [ $($SSH "ps -ef | awk '{print $2}'" | grep -c "$1") -gt 0 ]; do
        sleep 60
done
echo Lefutott | mail -s "Process $1 lefutott (${hostname})" $MAILTO

Hasznos oldalak