скрипт ротации 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 | Комментировать

« предыдущая страницаследующая страница »