LINUXOVE SKRIPTY

BASH

WHILE

while true; do wget --spider -T 3 seznam.cz; sleep 4; done

AWK

http://www.cyberciti.biz/tips/simple-linux-and-unix-system-monitoring-with-ping-command-and-scripts.html

echo prvni pole , druhe pole , treti pole | awk -F',' '{print $2}'
druhe pole
zadani oddelovace pole -F','
vypis 2he pole '{print $2}'

echo prvni pole , druhe pole , treti pole | awk -F',' '{print $2}' | awk '{print $1}'
druhe

najde uzivatele bez hesla

awk -F: '($2 dvakratzasebourovnase "") {print}' /etc/shadow

FOR

`for i in main.cpp ../inc/a.h; do realpath $i;

ZALOHA primitiv

7za a ~/zaloha/czandroidnews/adm/$(date +%y%m%d%H%M%S)-zal-adm.7za ~/web/czandroidnews/adm

ZALOHA midi

jmeno=kalendar
cilcesta=/var/zaloha/$jmeno
zdrojcesta=/var/kalendar
mkdir -p $cilcesta
echo Zalohuji z $zdrojcesta do $cilcesta >> $cilcesta$jmeno.log
7za a $cilcesta/$(date +%y%m%d%H%M%S)-$jmeno.7za $zdrojcesta >> $cilcesta$jmeno.log
echo Zaloha provedena $(date +%y%m%d%H%M%S) >> $cilcesta$jmeno.log
echo ---------------------------------------- >> $cilcesta$jmeno.log
echo >> $cilcesta$jmeno.log

ZALOHA advanced

cilcesta=~/zaloha/czandroidnews/adm/
zdrojcesta=~/web/czandroidnews/adm/
echo Zalohuji z $zdrojcesta do $cilcesta >> $cilcesta$jmeno.log
echo >> $cilcesta$jmeno.log

echo Provadim presun: >> ~/zaloha/czandroidnews/adm/zal-adm.log
rm -fvR $cilcesta$jmeno-03.7z >> $cilcesta$jmeno.log
mv -fv $cilcesta$jmeno-02.7z $cilcesta$jmeno-03.7z >> $cilcesta$jmeno.log
mv -fv $cilcesta$jmeno-01.7z $cilcesta$jmeno-02.7z >> $cilcesta$jmeno.log
mv -fv $cilcesta$jmeno-00.7z $cilcesta$jmeno-01.7z >> $cilcesta$jmeno.log
7za a $cilcesta$jmeno-00.7z $zdrojcesta >> $cilcesta$jmeno.log
echo >> $cilcesta$jmeno.log

echo Vytvarim zalozni tar.>> $cilcesta$jmeno.log
tar cvzf $cilcesta$jmeno.tar $cilcesta$jmeno-00.7z >> $cilcesta$jmeno.log
echo >> $cilcesta$jmeno.log

echo kontrolni soucty: > $cilcesta$jmeno.md5
md5sum $cilcesta$jmeno*.7z >> $cilcesta$jmeno.md5
echo pro tyto soubory: >> $cilcesta$jmeno.md5
ls -l $cilcesta$jmeno*.7z >> $cilcesta$jmeno.md5

echo Zaloha provedena $(date +%y%m%d%H%M%S) >> $cilcesta$jmeno.log
echo ---------------------------------------- >> $cilcesta$jmeno.log
echo >> $cilcesta$jmeno.log
jmeno=zal-adm
cilcesta=~/zaloha/czandroidnews/adm/
zdrojcesta=~/web/czandroidnews/adm/

echo kontrolni soucty: > $cilcesta$jmeno.md5
find $cilcesta$jmeno*.7z -exec ls -l {} \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; -exec md5sum {} \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; >> $cilcesta$jmeno.md5
find $cilcesta$jmeno*.tar -exec ls -l {} \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; -exec md5sum {} \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; >> $cilcesta$jmeno.md5

#echo pro tyto soubory: >> $cilcesta$jmeno.md5
#ls -l $cilcesta$jmeno*.7z >> $cilcesta$jmeno.md5

ZALOHA most advanced

#/bin/bash
#pecha2008-2009

tmp="zaloha-prave-probiha"
cestazdroj="root@192.168.140.3"
cestacil="/uloziste/00zaloha-server/zaloha-wam"

echo zalohuji z $cestazdroj do $cestacil > $cestacil.log

### ----------------------------------------------------

$cestacil-rotate-do.sh

### ----------------------------------------------------

uloha=u01
echo $(date +%y%m%d-%H%M%S) zahajena zaloha $uloha >> $cestacil.log
mkdir -p $cestacil/$uloha-$tmp/ $cestacil/$uloha/
rm -fR $cestacil/$uloha-$tmp/*
scp -BCpr $cestazdroj:/$uloha/* $cestacil/$uloha-$tmp/

if $? -eq 0 ;
then
rm -fR $cestacil/$uloha/
mv $cestacil/$uloha-$tmp/ $cestacil/$uloha/
echo $cestacil-rotate.sh $uloha >> $cestacil-rotate-do.sh
echo $(date +%y%m%d-%H%M%S) ukoncena zaloha $uloha >> $cestacil.log
else
echo $(date +%y%m%d-%H%M%S) volame Huston, mame problem - nezalohuji $uloha ! >> $cestacil.log
fi

### ----------------------------------------------------

uloha=u02
echo $(date +%y%m%d-%H%M%S) zahajena zaloha $uloha >> $cestacil.log
mkdir -p $cestacil/$uloha-$tmp/ $cestacil/$uloha/
rm -fR $cestacil/$uloha-$tmp/*
scp -BCpr $cestazdroj:/$uloha/* $cestacil/$uloha-$tmp/

if $? -eq 0 ;
then
rm -fR $cestacil/$uloha/
mv $cestacil/$uloha-$tmp/ $cestacil/$uloha/
echo $cestacil-rotate.sh $uloha >> $cestacil-rotate-do.sh
echo $(date +%y%m%d-%H%M%S) ukoncena zaloha $uloha >> $cestacil.log
else
echo $(date +%y%m%d-%H%M%S) volame Huston, mame problem - nezalohuji $uloha ! >> $cestacil.log
fi

### ----------------------------------------------------

uloha=u03
echo $(date +%y%m%d-%H%M%S) zahajena zaloha $uloha >> $cestacil.log
mkdir -p $cestacil/$uloha-$tmp/ $cestacil/$uloha/archivs3/aktual/
rm -fR $cestacil/$uloha-$tmp/*
scp -BCpr $cestazdroj:/$uloha/archivs3/aktual/* $cestacil/$uloha-$tmp/

if $? -eq 0 ;
then
rm -fR $cestacil/$uloha/archivs3/aktual/
mv $cestacil/$uloha-$tmp/ $cestacil/$uloha/archivs3/aktual/
echo $cestacil-rotate.sh $uloha >> $cestacil-rotate-do.sh
echo $(date +%y%m%d-%H%M%S) ukoncena zaloha $uloha >> $cestacil.log
else
echo $(date +%y%m%d-%H%M%S) volame Huston, mame problem - nezalohuji $uloha ! >> $cestacil.log
fi

### ----------------------------------------------------

echo $(date +%y%m%d-%H%M%S) vsechny zalohy ukonceny >> $cestacil.log
echo >> $cestacil.log

echo rm -fR $cestacil-rotate-do.sh >> $cestacil-rotate-do.sh
chmod a+x $cestacil-rotate-do.sh

exit 0

rotate doplnek
#/bin/bash
cestacil=/uloziste/00zaloha-server/zaloha-wam
mkdir -p $cestacil/vcerejsi/

echo $(date +%y%m%d-%H%M%S) zahajena komprese $1 >> $cestacil.log

rm -fR $cestacil/vcerejsi/*-$1.tgz
cd $cestacil/
tar cfz $cestacil/vcerejsi/$(date +%y%m%d-%H%M%S)-$1.tgz $1

echo $(date +%y%m%d-%H%M%S) ukoncena komprese $1 >> $cestacil.log

kam se skripty

mojeskritpy

wait on do

$ read -p "Press any key to start backup…"

#/bin/bash
# init
function pause(){
read -p “$*”
}
# other stuff
pause 'Press any key to continue…'
# other stuff

nejjednodussi zaloha

#/bin/bash
# rr
cil=etc
datum=`date +%y%m%d%H%M%S`
sudo tar cvfz /zaloha/$cil$datum.tgz /$cil

datum

date --help
Pokud se poziva v echu tak je potreba format zadat do "horni carky".
echo `date +%y%m%d%H%M%S`
vypise 080710143834

add bez parametru nebo s --help vyhodi napovedu

skripty v linuxu

zalozni skript na /etc (jako root):

Bacha na Karla Vlacha, kdyz tenhle skript spustite 2x ve stejny den, zustane vam jen ta posledni zaloha,
dodelam tam rozliseni v case

# mkdir /var/zaloha/ ;vytvori adresar /var/zaloha kam se budou data zalohovat
# nano /var/zaloha/zaloha_etc ;vytvori prazdny soubor /var/zaloha/zaloha_etc

vlozit text:

#/bin/bash
D=$(date +%g%m%d)
echo $D Skript zaloha_etc spusten. >> zaloha_etc.log
tar czf $D-etc.tar.bz2 /etc 2>> zaloha_etc.log
zmacknout F2, potvrdit ulozeni Y

# chmod +x /var/zaloha/zaloha_etc ;nastavi priznak spustitelny u soboru zaloha_etc
# /var/zaloha/zaloha_etc ;spusti soubor zaloha_etc

obsah /etc bude zabalen do souboru /var/zaloha/datum-etc.tar.bz2
a do zaloha_etc.log se s kazdym spustenim doplni radek s textem:

DATUM Skript zaloha_etc spusten.
tar: Removing leading `/' from member names

hotovo

info

zaloha

Poslední změna: 10.02.2010 14:29:04