Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Прочее - Маленькие скрипты на каждый день

Ответить
Настройки темы
Прочее - Маленькие скрипты на каждый день

Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2391
Благодарности: 186


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: [mzd]
Дата: 17-01-2007
В этой теме будут публиковаться маленькие скрипты, помогающие выполнять рутинную работу.

Скрипт меняет кодировку всех файлов в текущей директории с 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
Скрипт меняет строку charset=windows-1251 на charset=UTF-8 в каждом файле текущей директории
Код: Выделить весь код
#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
Способ использования: скопировать текст, создать новый текстовый файл в любом текстовом редакторе, вставить скопированный текст, сохранить под именем, например, script.sh, затем в консоли дать команду
Код: Выделить весь код
chmod +rx script.sh
Запуск скрипта на исполнение выполняется из каталога со скриптом командой
Код: Выделить весь код
./script.sh

-------
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:06, 17-01-2007

 

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


А как ети скрипты вообще применять? Можно по-подробнее только
(MaNDRIVa)

Отправлено: 15:05, 07-04-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для fossil

Ветеран


Сообщения: 637
Благодарности: 20

Профиль | Сайт | Отправить 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

-------
Согласно непопулярному мнению, Windows - враждебная ОС.
Так получилось, что Windows не выбирает себе друзей.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:05, 25-04-2007 | #3


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить 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


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить 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


Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2391
Благодарности: 186

Профиль | Отправить 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"

-------
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:19, 07-06-2007 | #6


Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить 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
Скрипт для очистки очереди Qmail от спама.
Путь /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

-------
---
Mikhail Solovyev

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:12, 01-08-2007 | #7


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить 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


Аватара для voler

Ветеран


Сообщения: 907
Благодарности: 36

Профиль | Отправить PM | Цитировать


Скрипт для создания бэкапов.
Код: Выделить весь код
#!/bin/bash

DATE=`date '+%F'`
BACKUP="/Backup/office_$DATE.sql"
mysqldump -uuser -hlocalhost office > $BACKUP
Бэкапы делаю, на отдельный жесткий диск.

-------
Linux, это плацдарм для изучения своих возможностей.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:16, 18-02-2008 | #9


Аватара для voler

Ветеран


Сообщения: 907
Благодарности: 36

Профиль | Отправить PM | Цитировать


Вот еще полезный, скрипт на perl для отправки сообщения на вашу почту, возможности использования актуальны.
читать дальше »

Код: Выделить весь код
#!/usr/bin/perl -w
use Net::SMTP; #модуль для отправки
$smtp = Net::SMTP->new('smtp.masterhost.ru'); # сервер отправки
$smtp->mail('от кого'); 
$smtp->to('кому');
$smtp->data();
$smtp->auth("имя","пароль");
$smtp->datasend("From: <имя\@домен>\n");
#$smtp->datasend("To: <имя\@домен>\n");
$smtp->datasend("Subject:Ваша тема\n");
$smtp->datasend("Content-Type: text/plain; charset=windows-1251\n");
$smtp->datasend("Content-Transfer-Encoding: 8bit\n");
$smtp->datasend("\n");
$smtp->datasend("ваш текст\n");
$smtp->dataend();
$smtp->quit;


Еще можно добавить возможность прикреплять файл. Но пока не нашел, не селен в perl.
Если есть гуру по правьте.

-------
Linux, это плацдарм для изучения своих возможностей.


Последний раз редактировалось voler, 21-02-2008 в 15:22.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:35, 21-02-2008 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Прочее - Маленькие скрипты на каждый день

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] 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




 
Переход