|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Прочее - Маленькие скрипты на каждый день |
|
Прочее - Маленькие скрипты на каждый день
|
Линуксоид-стакановец Сообщения: 2391 |
В этой теме будут публиковаться маленькие скрипты, помогающие выполнять рутинную работу.
Скрипт меняет кодировку всех файлов в текущей директории с 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 Запуск скрипта на исполнение выполняется из каталога со скриптом командой |
|
------- Отправлено: 09:06, 17-01-2007 |
runs with scissors Сообщения: 642
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 01:02, 25-02-2008 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Линуксоид-стакановец Сообщения: 2391
|
Профиль | Отправить PM | Цитировать Перевел с kdialog на zenity скрипт, меняющий кодировку с файле.
#!/bin/sh # Получаем имя исходного файла SRCFILENAME=`zenity --title="Выберите исходный файл" --file-selection` # Если имя файла не пустое идём дальше if (test ${SRCFILENAME}1 != "1") then # Получаем имя конечного файла DSTFILENAME=`zenity --title="Выберите конечный файл" --file-selection --save` # Если имя файла не пустое идём дальше if (test ${DSTFILENAME}1 != "1") then # Если конечный и начальный файл один и тот же - # Завершаем скрипт с сообщением об ошибке if (test ${SRCFILENAME} = ${DSTFILENAME}) then zenity --error --text="Нельзя перекодировать файл сам в себя!" --title="Ошибка" exit 1 fi # Получаем список доступных кодировок ENCODINGLIST=`iconv -l | sed 's/\/\///'| awk '{ print $1 " " $1}'|sort` # Запрашиваем кодировку исходного файла ENCODING=`zenity --list --text="Выберите кодировку:" --column="Кодировка" ${ENCODINGLIST}` # Если кодировка выбрана - перекодируем файл и сообщаем об # успешном завершении скрипта if (test ${ENCODING}1 != "1") then iconv -f ${ENCODING} -t utf-8 ${SRCFILENAME} > ${DSTFILENAME} zenity --info --text="Перекодирование выполнено!" fi fi fi |
------- Отправлено: 17:43, 28-02-2008 | #12 |
![]() Ветеран Сообщения: 907
|
Профиль | Отправить PM | Цитировать Скрипт делает бэкап нужных, нам конфигов.
#!/bin/bash #Читаем содержимое файла, и копируем его файлы. FILES=`cat /var/package.cfg` #Добавим дату, к каталогу. DATE=`date '+%F'` #Создадим папку + Дата. mkdir /backup/conf_$DATE #Укажем куда копировать. CR=/backup/conf_$DATE/ #Копируем файлы указанные в package.cfg cp -f $FILES $CR #создадим архив. tar -cvzf /backup/conf_$DATE.gz $CR/* #Удаляем файлы, после архивации. rm -Rf /backup/conf_$DATE |
------- Отправлено: 11:03, 15-03-2008 | #13 |
Ветеран Сообщения: 715
|
Профиль | Отправить PM | Цитировать Цитата Arrest:
|
|
------- Отправлено: 15:05, 27-03-2008 | #14 |
![]() Старожил Сообщения: 280
|
Профиль | Отправить PM | Цитировать Был у меня когда-то скрипт, который меняет владельца для всех файлов и подддиректорий. Сосед-линуксойд написал. Очень полезно было... Не создадите тут?
|
Последний раз редактировалось NordWest, 08-06-2008 в 13:53. Отправлено: 13:30, 08-06-2008 | #15 |
Ветеран Сообщения: 715
|
Профиль | Отправить PM | Цитировать NordWest,
chown -R user:group /dir_name |
------- Отправлено: 14:37, 09-06-2008 | #16 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Нет 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 после нештатной ситуации вроде сбоя питания. |
------- Отправлено: 22:02, 15-06-2008 | #17 |
Линуксоид-стакановец Сообщения: 2391
|
Профиль | Отправить PM | Цитировать Скрипт закачки обновлений к Kaspersky
Кумулятивные: #!/usr/bin/env python # -*- coding: utf-8 -*- #Скрипт для загрузки обновлений к Kaspersky AntiVirus import os import datetime import time from ftplib import FTP author="Александр Теленьга" print "-----------------------------------------------------" print "Скрипт для загрузки обновлений к Kaspersky AntiVirus" print "Автор: "+author print "-----------------------------------------------------" print "Начинаем работу..." print flag=False while not flag: try: ftph = FTP('ftp.downloads1.kaspersky-labs.com') except: print "Хост в ауте. Ждем..." time.sleep (10) exit else: print "Хост живой. Начинаем скачивать..." flag=True cumul_URL="ftp://ftp.downloads1.kaspersky-labs.com/zips/av-i386\&ids-cumul.zip" os.system('rm -Rf /media/LAN/install/Updates/Kaspersky\ Bases/cumul/*') save_path="/media/LAN/install/Updates/Kaspersky\ Bases/cumul/" os.system('wget -c -t 100 %s' %(cumul_URL)) os.system('mv av-i386\&ids-cumul.zip %s' %(save_path)) print "Работа скрипта завершена." #!/usr/bin/env python # -*- coding: utf-8 -*- #Скрипт для загрузки обновлений к Kaspersky AntiVirus import os import datetime import time from ftplib import FTP author="Александр Теленьга" print "-----------------------------------------------------" print "Скрипт для загрузки обновлений к Kaspersky AntiVirus" print "Автор: "+author print "-----------------------------------------------------" print "Начинаем работу..." print flag=False while not flag: try: ftph = FTP('ftp.downloads1.kaspersky-labs.com') except: print "Хост в ауте. Ждем..." time.sleep (10) exit else: print "Хост живой. Начинаем скачивать..." flag=True daily_URL="ftp://ftp.downloads1.kaspersky-labs.com/zips/av-i386\&ids-daily.zip" os.system('rm -Rf /media/LAN/install/Updates/Kaspersky\ Bases/daily/*') save_path="/media/LAN/install/Updates/Kaspersky\ Bases/daily/" os.system('wget -c -t 100 %s' %(daily_URL)) os.system('mv av-i386\&ids-daily.zip %s' %(save_path)) print "Начинаем извлечение из архива..." current_path="/media/LAN/install/Updates/Kaspersky\ Bases/current/cumul" os.system('rm -Rf %s/*' %(current_path)) os.system('unzip -o /media/LAN/install/Updates/Kaspersky\ Bases/cumul/av-i386\&ids-cumul -d %s' %(current_path)) current_path="/media/LAN/install/Updates/Kaspersky\ Bases/current/daily" os.system('rm -Rf %s/*' %(current_path)) os.system('unzip -o /media/LAN/install/Updates/Kaspersky\ Bases/daily/av-i386\&ids-daily -d %s' %(current_path)) print "Работа скрипта завершена." |
------- Отправлено: 16:39, 07-10-2008 | #18 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Помогите со скриптом. Нужно чтобы файлы старше 7 дней удалялись автоматом.
|
Отправлено: 12:55, 10-12-2008 | #19 |
Слакофил Сообщения: 590
|
Профиль | Сайт | Отправить PM | Цитировать find /tmp -type f -mtime 7 -print0 | xargs -0 rm -f
добавьте это в крон |
------- Отправлено: 13:36, 10-12-2008 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] 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 |
|