![]() |
Маленькие скрипты на каждый день
В этой теме будут публиковаться маленькие скрипты, помогающие выполнять рутинную работу.
Скрипт меняет кодировку всех файлов в текущей директории с cp1251 на UTF-8 Код:
#/bin/sh Код:
#bin/sh Код:
chmod +rx script.sh Код:
./script.sh |
А как ети скрипты вообще применять? Можно по-подробнее только :)
(MaNDRIVa) |
Очищаем все файлы в каталоге и подкаталогах.
Код:
#!/bin/bash |
Не буду говорить что я великий и могучий скриптописатель... Приятель попросил сделать задание на лабу - посчитать количество файлов в каталогах из $PATH и вывести на экран, отсортировав по количеству файлов:
Код:
#!/bin/bash |
Скрипт для подбора кодировки текстового файла:
Код:
#!/bin/sh |
Простой скрипт для отслеживания сайтов (англ. яз.)
Сам скрипт: Код:
#!/bin/sh Код:
#!/bin/sh |
Показать 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 |
Простой и короткий, но полезный скрипт, меняющий в директории и всех поддиректориях права доступа к файлам в зависимости от их расширения. В данном примере файлы с расширением php и tcl получат права доступа 755, а все остальные - 655.
Код:
#!/bin/bash |
Скрипт для создания бэкапов.
Код:
#!/bin/bash |
Вот еще полезный, скрипт на perl для отправки сообщения на вашу почту, возможности использования актуальны.
Еще можно добавить возможность прикреплять файл. Но пока не нашел, не селен в perl. Если есть гуру по правьте. |
Генерим несколько паролей(количество - как повезет, но не больше 10), альфанумеричных, длиной 8 символов:
Код:
cut -b 0-104857600 /dev/urandom | head -n 1000 | strings -n 8 | cut -b 0-8 | egrep "^[a-zA-Z0-9]*$" |
Перевел с kdialog на zenity скрипт, меняющий кодировку с файле.
Код:
#!/bin/sh |
Скрипт делает бэкап нужных, нам конфигов.
Код:
#!/bin/bash |
Цитата:
|
Был у меня когда-то скрипт, который меняет владельца для всех файлов и подддиректорий. Сосед-линуксойд написал. Очень полезно было... Не создадите тут?
|
NordWest,
chown -R user:group /dir_name |
Нет PGP Disk ? Не беда =)
#!/bin/bash MNTPT=/home/Amin/dm_crypt_test/mount_point CCNTR=/home/Amin/dm_crypt_test/container.dmc start() { echo " " echo "----- Mount CryptoContainer ----------------------" /sbin/losetup /dev/loop0 $CCNTR /sbin/cryptsetup create u /dev/loop0 mount -t ext2 /dev/mapper/u $MNTPT MLINE=`mount | grep $MNTPT`; if [ -n "$MLINE" ]; then echo "----- Mount CryptoContainer Complete ! ---------"; else echo '----- ERROR - Bad password -----------------'; stop ; fi echo " " } stop() { echo " " echo "----- Unmount CryptoContainer --------------------" sync umount $MNTPT /sbin/cryptsetup remove u /sbin/losetup -d /dev/loop0 echo "----- Unmount CryptoContainer Complete ! ---------" echo " " } case "$1" in start) start ;; stop) stop ;; *) MLINE=`mount | grep $MNTPT` if [ -n "$MLINE" ]; then stop; else stop; clear; start; fi esac exit 0; К счастью, в Федоре все необходимое для шифрования файлов уже есть, поэтому ничего качать/ставить/пересобирать не пришлось. Вот только одного не понимаю - криптография в ядре есть уже тыщу лет, а написать к этому простой интерфейс а-ля PGP Disk так никто вроде и не удосужился (хотел бы в этом ошибиться). P.S. Отправной точкой взял вот эту статейку - http://www.xakep.ru/magazine/xa/090/104/1.asp (я юзал только секцию "Раздел в виде файла на диске", 5-я страница), только вместо reiser сделал ext2 . Для себя еще раз сделал вывод, что хоть "ксакеп" и пальцовый журнал, но найти там кое-что полезное все же можно. Впрочем, из любителей хихикать в сторону "ксакепа" практически никто не смог создать проект даже близкого уровня. Флуд ведь разводить гораздо легче, чем реально что-то полезное сделать. ===== Заметки для меня ===== touch cryptdisk.cds # создаем новый контейнер shred -n1 -s50M cryptdisk.cds # затрем в контейнере 50 Мб /* размер */ # подготовим диск : losetup /dev/loop0 ~/cryptdisk.cds # соединение с loop-устройством cryptsetup -y create mydisk /dev/loop0 # создание в /dev/mapper своего диска mkfs /dev/mapper/mydisk # форматирование раздела HINT #1 : cryptsetup туп как пробка, и никаких паролей он не проверяет. То есть применяет алгоритм "в лоб". Поэтому даже если вы подсунете кривой (поврежденный) контейнер или неверный пароль, то cryptsetup все равно его подключит (ему похоже фиолетово, что там в loop-устройстве и какой там пароль), только в устройстве будет мусор. Проверка пароля делается mount'-ом =) HINT #2 : если сделать только losetup + cryptsetup, но не выполнять mount, то в /dev/mapper/mydisk будет голое устройство, которое можно, например, проверить с помощью fsck после нештатной ситуации вроде сбоя питания. |
Скрипт закачки обновлений к Kaspersky
Кумулятивные: Код:
#!/usr/bin/env python Код:
#!/usr/bin/env python |
Помогите со скриптом. Нужно чтобы файлы старше 7 дней удалялись автоматом.
|
find /tmp -type f -mtime 7 -print0 | xargs -0 rm -f
добавьте это в крон |
Скажите пожалуйста, а папки он тоже будет удалять?
|
Директории будут обрабатываться той-же командой, но с параметром -type d.
|
А если фаил был скачан с интернета или переписан откуда-то? Ведь там дата его создания будет гараздо раньше чем 7 дней.. Как такое побороть ?
|
censored, посмотрите man find на предмет atime,ctime и mtime.
|
Спасибо за помощь, уже разобрался всё работает.
|
Сбор информации о системе:
PHP код:
|
Просьба помочь с следующим скриптом, выполняющим следующую задачу:
В каталоге существует много архивных файлов (*.rar, *.zip, *.tgz) и из каждого нужно извлечь скажем файл picture.jpg (или png) и после извлечения переименовать в такое же название как и название архива. Если в архиве несколько picure.jpg - переименовать на "название-архива-1.jpg", "название-архива-2.jpg" и тд. Есть ли возможность просканировать все архивы и главное вложеные архивы для получения списка таких файлов. Поскольку в скриптах не особо силен, возможно подскажете способы реализации. Спасибо |
Время: 19:43. |
Время: 19:43.
© OSzone.net 2001-