Archiwa kategorii: Shell

Shell

Informacja ‚You have new mail’ po zalogowaniu ssh

Przy korzystaniu z mailbox’a a nie Maildir, po zalogowaniu przez ssh pojawia się komunikat czy jest nowa poczta. W przypadku Maildir już takiej informacji nie ma. Można stworzyć prosty skrypt, który będzie to sprawdzał:

ile=`ls ~/Maildir/new |wc|awk ‚{ print $1 }’`
if [ $ile -gt 0 ]
then
echo „You hame new mail! ($ile)”;
else
echo „No mail”

Wpisujemy to do pliku .bash_rc aby było wykonywane przy każdym zalogowaniu.

Jak kopiować z zachowaniem uprawnień, jak przenieść cały system?

Kopiowanie z podkatalogami:
cp -a /src/* /dst
(-a zastępuje -pRd czyli z zachowaniem uprawnień, podkatalogami, i zostawia linki symboliczne).

Można też używając rsync:
rsync -a /src/ /dst
slash po src ma znaczenie, bez niego
rsync -a /src /dst
skopiowałoby zawartość /src do /dst/src

Używając rsync można też kopiować pomiędzy zdalnymi maszynami, np.:
rsync -ave ‚ssh -p22’ –del –exclude ‚/proc’ –exclude ‚/dev’ [email protected]:/ /dsthost

Łączenie plików avi

Pliki *avi można połączyć w taki sposób:
mencoder -oac copy -ovc copy plik1.avi plik2.avi plik3.avi -o suma.avi
Wszystkie z katalogu:
mencoder -oac copy -ovc copy *.avi -o dir/out.avi

Przekodowanie (mniej zajmuje, gorsza jakość) np. filmów z aparatu:
mencoder input.avi -ofps 23.976 -ovc lavc -oac copy -o outfile.avi

Generowanie dhcpd.conf fixed ip

Mamy plik postaci: IP MAC w każdej linii, np:
192.168.10.2 [tab] 00:00:00:00:00:01, chcemy wygenerować wpisy statyczne dla dhcpd.conf.
Używamy skryptu:
for i in `cat ip_mac_dhcp.txt|sed 's/\\t/#/g'`; do
IP=`echo $i|cut -d '#' -f1`
MAC=`echo $i|cut -d '#' -f2`
echo "host $IP {";
echo " hardware ethernet $MAC;"
echo " fixed-address $IP;"
echo "}"
done

Odzyskiwanie danych

Z uszkodzonego dysku/partycji.
Nie należy pracować, montować itp. uszkodzonego dysku, pierwsze co należy zrobić, to pełną kopię uszkodzonych partycji lub dysków, np.:
dd noerror
ddrescue zrodlo cel (bez in= out=)
(próbuje kilka razy odczytać błędne sektory)

albo:
dd in=plik1 out=plik2 conv=noerror,sync

Program, który potrafi odzyskać dane z urządzenia, nawet jeśli na nim jest już inny system plików, ale nie są nadpisane wszystkie sektory:
http://foremost.sourceforge.net/