Посчитать суммарый объём файлов с расширением dbf:
Скрипт du_dbf:
#!/bin/sh
find /eis -type f -name *.dbf -exec du -km {} \;| gawk \
'{ sum += $1 }; END { print sum " Mb - summary size of dbf-files" }'
Найти самый большой по объёму файл с расширением dbf и указать его имя:
Скрипт du_dbf_max:
#!/bin/sh
find /eis -type f -name *.dbf -exec du -km {} \;| gawk \
'BEGIN { size = 0}; { if ($1 > size) {size = $1; name = $2} }; \
END { print size " Mb - max size: " name }'
Найти и выдать файлы с объёмом больше 700Mb:
Скрипт du_f_700:
#!/bin/sh
find /eis -type f -exec du -km {} \;| gawk 'BEGIN { size = 700}; \
{ if ($1 > size) { print $2 " = " $1 " Mb"} }; END {}'
Перекодировать имена файлов из одной кодировки в другую:
Скрипт iconv_currentCP:
#!/bin/bash
#Конвертация имён файлов и каталогов из заданной кодировки в текущую
if [ "$1" = ""]
then echo "Исходная кодировка не указана! Пожалуйста укажите кодировку, например cp1251 или koi8-r"; exit 1
fi
PWD=$(pwd) #Запоминаем текущий каталог
#Ищем все вложенные каталоги в текущем и отдаём их переменной цикла и
временно заменяем пробелы в названиях на \ для исключения проблем с
восприятием одного имени файла как нескольких.
for i in $(find $PWD -type d -depth | sed 's/ /\\/g')
do
#Возвращяем пробелы в имена файлов и каталогов и запоминаем в переменной dest
dest=$(echo "$i" | sed 's/\\/ /g')
cd "$dest" #Переходим в каталог
#Конвертируем имена содержимого катаога из заданной кодировки в текущую
for n in *
do
conv=$(echo "$n" | iconv -c -f "$1")
mv "$n" "$conv"
done
cd $PWD
done
Перекодировать имена файлов из одной кодировки в другую:
Скрипт iconv_UTF2koi8-r:
fuse в строчке 'sshfs#fuse@10.0.1.200' - пользователь на другой
стороне, но при таком раскладе спрашивает пароль на пользователя. Если необходимо
настраивать беспарольный автомат - надо генерить rsa или dsa ключи.
Сделать скриншот графического экрана из консоли
(используется команда import из пакета ImageMagick):
Скрипт screenshot.sh:
Скрипт "батарейка" на случай сбоя даты на компьютере по причине севшей
батарейки на системной плате и отсутсвия time-сервера в сети или самой сети.
Скрипт battery проверяет, если текущий год
меньше 2010, то выставить дату 17 марта 2010 года:
#!/bin/sh
#
# chkconfig: 2345 07 99
# description: battery-script is used for setting fixed date if real battery \
# on motherboard is low and system date set on default manufactured date.
# processname: battery
RETVAL=0
start() {
echo -n $"Setting Date: "
/bin/date|/bin/awk '{if ($6 < "2010") {system("/bin/date -s 03/17/10")}; }'
echo
return $RETVAL
}
stop() {
echo -n $"Setting Date Not Need!"
echo
return $RETVAL
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo $"Usage: battery {start|stop|restart|reload}"
exit 1
esac
exit $RETVAL