скрипт ротации log-ов и backup-ов для windows
Запись создана 12 марта, 2008
[cc lang=»vb»]
‘==========================================================================
‘
‘ VBScript Source File — Created with SAPIEN Technologies PrimalScript 3.1
‘
‘ NAME: remlogs.vbs
‘
‘ AUTHOR: Подлячок
‘ DATE : 19.06.2005
‘
‘ COMMENT: Скриптик для автоматического удаления log-ов и backup-ов, срок актуальности которых истек.
‘ Срок после которго данный лог или бэкап вам уже точно не понадобиться определяется только вашим
‘ гражданским самосознанием, исходя из принципов разумности и политики вашей организации.
‘==========================================================================
‘Объявляем пременные
Dim Fso,File,BackupFolder,backupFiles,PathName,Result,Name,Output
Dim Counter,CurrentDate,FileDate,WshShell,a,str
‘Инициализируем переменные
Counter=0
PathName=»нужная вам папочка»
‘Получаем значение текущей даты
CurrentDate=Date
‘Создаем объекты: WScript.Shell и Scripting.FileSysemObject
Set WshShell=WScript.CreateObject(«WScript.Shell»)
Set Fso=WScript.CreateObject(«Scripting.FileSystemObject»)
‘Получаем объект — нужная нам папка
Set BackupFolder=Fso.GetFolder(PathName)
‘Получаем коллкцию объектов типа «File» из нужной папки
Set backupFiles=BackupFolder.Files
‘ Цикл. Для каждого обекта-File из коллекции обектов — Files
For Each File In backupFiles
‘Получаем дату зоздания файла
FileDate=File.DateCreated
‘Получаем период между датой создания файла и текущей датой
Result=CurrentDate-FileDate
‘Если период между датой создания файла и текушей датой больше заданного значения, то
‘удаляем файл и формируем строку, которую будем писать в лог-файл и строку которую мы будем выводить в наше сообщение
‘(можно не формировать строку здесь и далее это сделанно для наглядности).
If Result>Количество дней после которого файлы будут удаляться Then
Counter=Counter+1
str=Str + «Был удален файл» & File.Name & » » & CurrentDate & VbCrLf
Name=Name & File.Name & VbCrLf
File.Delete
end If
Next
‘Открываем файл log.txt на запись (опционально)
Set a=Fso.OpenTextFile(«c:\log.txt»,2,False)
‘Записываем туда сформированную в цикле строку (опционально)
a.WriteLine(Str)
‘Закрываем файл (опционально)
a.Close
‘Выводим окно сообщения о том какие файлы мы удалили (опционально)
Output=MsgBox(«Было удаленно » & Counter & » файл(а/ов)» & vbCrLf & Name,64, «Output Box»)
[/cc]
» Запись из раздела windows | Комментировать
User must change password on next logon
Запись создана 12 марта, 2008
[cc lang=»bash»]
‘скрипт рекурсивно устанавливает всем пользователям домена атрибут «User must change password on next logon»
‘для корректной работы необходимо в переменной strMyDomain определить имя домена с точки зрения LDAP —
‘т.е. все точки заменить на «DC=». Таким образом, домен argo.com превращается в DC=argo,DC=com
‘в переменную strMyOU необходимо поместить наименование Organization Unit`а, юзеров которого необходимо подвергнуть
‘процедуре изменения пароля.
Dim strMyOU
Dim strMyDomain
Dim objOU, objUser
Dim strContainer, strLastUser
strMyOU = «argo»
strMyDomain = «DC=argo,DC=com»
sub recurs(ou)
strContainer = «OU=»+ou+»,» + strMyDomain
set objOU = GetObject(«LDAP://» & strContainer )
For each objUser in objOU
strLastUser = objUser.Get («name»)
If objUser.Class=»organizationalUnit» Then
recurs(strLastUser+», OU=»+ou)
Elseif objUser.Class=»user» Then
objUser.Put «pwdLastSet», 0
objUser.SetInfo
end if
next
end Sub
recurs strMyOU
WScript.Quit
[/cc]
» Запись из раздела Несортированное | Комментировать
массовое добавление пользователей из екселевской таблички
Запись создана 12 марта, 2008
[cc lang=»vb»]// массовое добавление пользователей из екселевской таблички
// структора таблички:
// Фамилия Имя Отчество Логин Должность Отдел Предприятие Телефон
Set objExcel = CreateObject(«Excel.Application»)
Set objWorkbook = objExcel.Workbooks.Open _
// из какой таблички
(«D:\excel.xls»)
intRow = 1
Do Until objExcel.Cells(intRow,1).Value = «»
// куда добавляем, домен и юнит
Set objOU = GetObject(«LDAP://OU=management,dc=domain,dc=name»)
Set objUser = objOU.Create _
(«User», «cn=» & objExcel.Cells(intRow, 1).Value & » » & objExcel.Cells(intRow, 2).Value & » » & objExcel.Cells(intRow, 3).Value)
objUser.sAMAccountName = objExcel.Cells(intRow, 4).Value
objUser.GivenName = objExcel.Cells(intRow, 2).Value
objUser.SN = objExcel.Cells(intRow, 1).Value
objUser.displayName = objExcel.Cells(intRow, 1).Value & » » & objExcel.Cells(intRow, 2).Value & » » & objExcel.Cells(intRow, 3).Value
// какой домен им ставить
objUser.Put «userPrincipalName», (objExcel.Cells(intRow, 4).Value & «@domain.name»)
objUser.Put «title», objExcel.Cells(intRow, 5).Value
objUser.Put «department», objExcel.Cells(intRow, 6).Value
objUser.Put «Company», objExcel.Cells(intRow, 7).Value
‘ objUser.Put «TelephoneNumber», objExcel.Cells(intRow, 8).Value
objUser.SetInfo
intRow = intRow + 1
Loop
objExcel.Quit
[/cc]
» Запись из раздела windows | 1 комметарий
Как в Linux перебросить соединение через NAT во внутреннюю сеть
Запись создана 12 марта, 2008
Первый путь – пробрасывание только порта:
[cc lang=»bash»]iptables -t nat -A PREROUTING -p tcp -d EXT_R_IP —dport 10000 -j DNAT —to-destination LOCAL_IP:80
iptables -A FORWARD -i eth0 -d LOCAL_IP -p tcp —dport 22 -j ACCEPT[/cc]
Второй вариант – выброс всей машины наружу (если есть свободные адреса):
[cc lang=»bash»]ifconfig eth0:0 NEW_IP netmask NETMASK broadcast BROADCAST
route add NEW_IP gw GW netmask 0.0.0.0 metric 1 dev eth0:0
iptables -t nat -A PREROUTING -p tcp -d NEW_IP -j DNAT —to-destination LOCAL_IP
iptables -A FORWARD -i eth0 -d LOCAL_IP -j ACCEPT
[/cc]
Обозначения: EXT_R_IP – внешний IP роутера, LOCAL_IP – внутренний IP машины, которую хочешь выбросить
NEW_IP – новый IP на который хочешь посадить машину, которая имеет локальный LOCAL_IP NETMASK, BROADCAST, GW – внешние netmask, broadcast и gateway
» Запись из раздела networking, Unix | 2 комментария
крякозябры в диалогах виндовых программ в wine
Запись создана 12 марта, 2008
Если в диалогах программ, запущенных под wine, крякозябры следует сделать следующее:
1. создать в домашнем каталоге пользователя подкаталог .fonts и скопировать в него TTF-шрифты из windows.
2. в консоли выполнить команду fc-cache /.fonts
Шрифты станут доступны всем вновь запущенным приложениям.
» Запись из раздела Unix | 4 комментария
Потоковый аудио и видео сервер под linux.
Запись создана 12 марта, 2008
Потоковый аудио и видео сервер под linux.
читать о том как сделать интернет радио, здесь: Потоковый аудио и видео сервер под linux.
От себя добавлю, очень понравился darvin от aple. Есть под большинство платформ, работает на ура, управление через web.
» Запись из раздела Unix | Комментировать
Оповещение по почте о входе в консоль
Запись создана 12 марта, 2008
необходимо добавить в конец файла .bash_profile в пользовательской директории эту строку:
[cc lang=»bash»]echo ‘ALERT — Root Shell Access on:’ `date` `who` | mail -s «Alert: Root Access from `who | awk ‘{print $6}’`» user@dom.dom [/cc]
» Запись из раздела Unix | 1 комметарий
бакапим и ресторим базу MySQL
Запись создана 12 марта, 2008
Делаем дамп:
[cc lang=»bash»]
# mysqldump —add-drop-table —host=localhost —user=root —password=111 basename > basename.sql
[/cc]
Ресторим базу из дампа:
[cc lang=»bash»]
# mysql —host=localhost —user=root —password=111 —default-character-set=cp1251 basename < basename.sql
[/cc]
» Запись из раздела MySQL, Unix | Комментировать
отключаем SELinux
Запись создана 12 марта, 2008
Для отключения SELinux необходимо в файле /etc/sysconfig/selinux нужно выставить: SELINUX=disabled
» Запись из раздела Unix | Комментировать
Создание загрузочного диска Windows 2003 SP1
Запись создана 12 марта, 2008
Для создания загрузочного диска нам потребуется:
1. Дистрибутив Windows 2003
2. Service Pack 1 (в дальнейшем sp1) WindowsServer2003-KB889101-SP1-x86-ENU.exe
3. Файл bootsec2k3.bin
4. Пишущий привод СD и программа для записи CD.
Читать дальше
» Запись из раздела windows | Комментировать