|
| Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Прочее - Маленькие скрипты на каждый день |
|
|||||
|
|
Прочее - Маленькие скрипты на каждый день
|
|
Линуксоид-стакановец Сообщения: 2411 |
В этой теме будут публиковаться маленькие скрипты, помогающие выполнять рутинную работу.
Скрипт меняет кодировку всех файлов в текущей директории с cp1251 на UTF-8 Код:
#/bin/sh
dir=.
for i in $dir/*
do
if [ -f $i ]
then
cp $i $i.utf
iconv -f cp1251 -t utf-8 $i -o $i.utf
mv $i.utf $i
fi
done
Код:
#bin/sh
dir=.
for i in $dir/*
do
if [ -f $i ]
then
cp $i $i.ed
sed 's/charset=windows-1251/charset=UTF-8/g' $i > $i.ed
mv $i.ed $i
fi
done
Код:
chmod +rx script.sh Код:
./script.sh |
|
|
------- Отправлено: 09:06, 17-01-2007 | |
|
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать А как ети скрипты вообще применять? Можно по-подробнее только
![]() (MaNDRIVa) |
|
Отправлено: 15:05, 07-04-2007 | | #2 | |
|
Ветеран Сообщения: 624
|
Профиль | Сайт | Отправить PM | Цитировать Очищаем все файлы в каталоге и подкаталогах.
Код:
#!/bin/bash
path='/var/garbage'
for i in `ls $path`;do
if [ ! -d $path$i ] ;then
echo '' > $path$i;
fi
if [ -d $path$i ];then
for s in `ls $path$i`;do
echo '' > $path$i'/'$s;
done
fi
done
|
|
------- Отправлено: 15:05, 25-04-2007 | | #3 | |
|
Слакофил Сообщения: 591
|
Профиль | Сайт | Отправить PM | Цитировать Не буду говорить что я великий и могучий скриптописатель... Приятель попросил сделать задание на лабу - посчитать количество файлов в каталогах из $PATH и вывести на экран, отсортировав по количеству файлов:
Код:
#!/bin/bash LANG=C for i in `echo $PATH | sed -n s/\:/\ /gp`; do echo -ne "$i:\t"; ls -1R $i/ 2>/dev/null | grep -vE 'total|^$|\:$' | wc -l; done | sort -k 2nr |
|
Отправлено: 02:07, 02-05-2007 | | #4 | |
|
Слакофил Сообщения: 591
|
Профиль | Сайт | Отправить PM | Цитировать Скрипт для подбора кодировки текстового файла:
Код:
#!/bin/sh
ENC=KOI8-R # в какую кодировку переводить
FILE=/tmp/file.txt # файл
for i in `iconv -l | sed -e 1,5d -e 's/\/\///g'`; do
echo -e "\n\n-----\n$i\n-----\n";
iconv -c -f $i -t $ENC $FILE
read;
done
|
|
Отправлено: 12:39, 22-05-2007 | | #5 | |
|
Линуксоид-стакановец Сообщения: 2411
|
Профиль | Сайт | Отправить PM | Цитировать Простой скрипт для отслеживания сайтов (англ. яз.)
Сам скрипт: Код:
#!/bin/sh
# webtrack.sh
RECIP=user@host # where notifications get sent
DUMPCMD="w3m -dump" # text browser invocation
for url in $(cat list.txt); do
md5=$(echo "$url" | md5sum | cut -d\ -f 1)
touch $md5.txt
$DUMPCMD "$url" > tmp.txt
if diff $md5.txt tmp.txt >/dev/null; then
: #echo no changes
else
: #echo "changes: "
diff -Napu $md5.txt tmp.txt > diff.txt
mv tmp.txt $md5.txt
mail -s "Changes in $url found." "$RECIP" <<eof
The diff has $(wc -l diff.txt | cut -d\ -f 1) lines.
Changes are below.
$(cat diff.txt)
eof
fi
done
Код:
#!/bin/sh # ww-add.sh # if the list is local echo '$1' >> /path/to/list.txt # if the list is remote ssh user@host "echo '$1' >> /path/to/list.txt" |
|
------- Отправлено: 10:19, 07-06-2007 | | #6 | |
|
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Показать 5 ip-адресов, с которых установлено больше всего коннектов на 25-й порт на сервер. Вместо 1.2.3.4 подставьте ваш ip-адрес
Полезно для вылавливания спамеров.Код:
netstat -antp|grep "1.2.3.4:25" |awk '{a=$5;split (a,b,":");g[b[1]]++}END{for (h in g) print g[h]" "h}'|sort -n|tail -5
Путь /var/qmail/ при необходимости заменяем на свой путь к qmail-у. Длинную строчку find ... при необходимости модифицируем, с учётом специфики спама на вашем сервере ![]() Код:
#!/bin/bash
TS=`date +%d.%m.%Y.%s`
find /var/qmail/queue/mess/ -type f -exec grep -lEi 'failure notice|ssbhomes.com|Unknown Recipient|WATCHDOG|nlarge your|Returned mail|The Best For Your Health|Hot Se with Viagra|Pharmacy for Everyone|Delivery Status Notification|failure notice|Mailer-daemon@|herbal|agra|ialis|vitra|porn|xgenconsulting.com|postmaster@|penis|Home Depot gift card|Your Loan Pre-Approval|Your Mortgage Pre-Approval|Happy NW|Time to make it bigger!|Do away with everything you are indebted for without paying an other cent|Size, Does It Really Matter!?!|Make it larger!|Hey MAN!|Ink & Toner - 2007 Bonanza Super Sale|Time to make it larger NOW!' {} \; >> /tmp/76K_q.${TS}
/var/qmail/bin/qmail-qstat
/etc/init.d/qmail stop
sleep 5
/etc/init.d/qmail stop
sleep 5
cat /tmp/76K_q.${TS} | while read fn
do
rm -f -- ${fn}
echo ${fn} | sed "s/mess/local/g" | xargs rm -f --
echo ${fn} | sed "s/mess/remote/g" | xargs rm -f --
echo ${fn} | sed "s/mess/info/g" | xargs rm -f --
echo ${fn} | sed "s/mess/todo/g" | xargs rm -f --
short_fn=`echo ${fn} | sed 's#^.*/##'`
rm -f -- /var/qmail/queue/bounce/${short_fn} /var/qmail/queue/intd/${short_fn} /var/qmail/queue/todo/${short_fn}
echo ${fn}
done
/etc/init.d/qmail start
/var/qmail/bin/qmail-qstat
|
|
------- Отправлено: 16:12, 01-08-2007 | | #7 | |
|
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать Простой и короткий, но полезный скрипт, меняющий в директории и всех поддиректориях права доступа к файлам в зависимости от их расширения. В данном примере файлы с расширением php и tcl получат права доступа 755, а все остальные - 655.
Код:
#!/bin/bash
find . -name \*.* -exec chmod 655 {} \;
find . -name \*.php -exec chmod 755 {} \;
find . -name \*.tcl -exec chmod 755 {} \;
|
|
Отправлено: 22:43, 13-08-2007 | | #8 | |
|
Ветеран Сообщения: 706
|
Профиль | Отправить PM | Цитировать Скрипт для создания бэкапов.
Код:
#!/bin/bash DATE=`date '+%F'` BACKUP="/Backup/office_$DATE.sql" mysqldump -uuser -hlocalhost office > $BACKUP |
|
------- Отправлено: 21:16, 18-02-2008 | | #9 | |
|
Ветеран Сообщения: 706
|
Профиль | Отправить PM | Цитировать Вот еще полезный, скрипт на perl для отправки сообщения на вашу почту, возможности использования актуальны.
Еще можно добавить возможность прикреплять файл. Но пока не нашел, не селен в perl. Если есть гуру по правьте. |
|
------- Последний раз редактировалось voler, 21-02-2008 в 15:22. Отправлено: 14:35, 21-02-2008 | | #10 | |
|
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Разное - [решено] win 7 каждый день переводит время | psy_sln | Microsoft Windows 7 | 6 | 08-11-2009 14:03 | |
| Среднестатистический человек каждый день читает в Интернете больше слов, чем в «Войне | OSZone News | Новости информационных технологий | 0 | 06-11-2009 21:30 | |
| "День 7" - на носу: Windows 7 осталось ждать один день | OSZone News | Новости и события Microsoft | 0 | 21-10-2009 12:30 | |
| Принтер - Принтер HP P2015n каждый день переходит в автономный режим работы | BooZoka | Прочее железо | 0 | 20-05-2009 13:46 | |
|