Поддержка проектов  


Вы можете поддержать проект перечислив 900 рублей
на рублёвый счёт WebMoney: R272306964544
(или долларовый эквивалент на счёт: Z310486833404),
или на рублёвый счёт Яндекс.Деньги: 41001232162230

 

на развитие
проекта
Яндекс Яндекс. Деньги Хочу такую же кнопку
   

Рейтинг  

Яндекс.Метрика
Яндекс цитирования
 

   

Статистика  

Посетители
6
Материалы
295
Количество просмотров материалов
2063387
   
 


Посчитать суммарый объём файлов с расширением 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:
#!/bin/sh
find /space/place * -exec iconv -f UTF-8 -t KOI8-R {} \;


Монтирование через sshfs с перекодировкой с командной строки:
sshfs 10.0.3.200:/space /mnt/space -o \
allow_other,modules=iconv,from_code=KOI8-R,to_code=UTF8


Монтирование через sshfs с перекодировкой строчкой в /etc/fstab:
sshfs#fuse@10.0.3.200:/space /mnt/space	fuse	\
user,allow_other,modules=iconv,from_code=KOI8-R,to_code=UTF8	0 0

fuse в строчке 'sshfs#fuse@10.0.1.200' - пользователь на другой стороне, но при таком раскладе спрашивает пароль пользователя. Если необходимо настраивать беспарольный автомат - надо генерить rsa или dsa ключи.



Сделать скриншот графического экрана из консоли (используется команда import из пакета ImageMagick):
Скрипт screenshot.sh:
#!/bin/bash
import -display :0.0 -window root screenshot.jpg


Сделать скриншот графического экрана удалённой машины (используется команда import из пакета ImageMagick):
Скрипт screenshot.sh:
#!/bin/bash
/usr/bin/ssh student@10.0.4.101 /usr/bin/import -display :0.0 -window root /home/student/screenshot.jpg
/usr/bin/scp student@10.0.4.101:/home/student/screenshot.jpg pk01.jpg


Скрипт "батарейка" на случай сбоя даты на компьютере по причине севшей батарейки на системной плате и отсутсвия 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