Home > Кодинг > Автоматизація DirectAdmin

Автоматизація DirectAdmin

Проводити тестування на вразливості можна або просто, або мудро. Просто це вручну пишучи, наприклад, кавички скрізь. А по мудрому – це один раз написати скрипт, а потім він автоматично буде тестувати замість вас. І коли ми берем сайти на аудит, то коли ми більшість багів якраз знаходимо автоматичними тулзами.

Але сьогодні не про хак поговорим, а про бекап. Бекап – це ідеальне спасіння після хакерів ;) . Отже в такій штучкі як DirectAdmin є функції для створення бекапів, і дозвольте показати вам маленький скрипт, що можна поставити в крон на ніч, і він буде постійно замість вас створювати бекапи:

import time
from twill.commands import *
from ftplib import FTP

def make_backup():
    go("http://tutamc.com:2222/")
    fv("1", "username", "tutamc")
    fv("1", "password", "пароль")
    submit()
    go('/CMD_SITE_BACKUP?domain=tutamc.com')
    fv(1,14,'ok')
    submit()
    code(200)

def get_backup():
    ftp = FTP('193.9.28.13')
    ftp.login('tutamc','пароль','')
    file_list = ftp.nlst('/backups')
    first = file_list[0]
    first_name = first.split('/')[2]
    ftp.retrbinary('RETR '+first, open('d:\\\\TutaMC\\'+first_name, 'wb').write)
    for item in file_list[1:-2]:
        ftp.delete(item)
    ftp.quit()

make_backup()
time.sleep(60*30)# = 30m
get_backup()

В цьому простому скрипті особливо цікаве використання бібліотека twill яка частіше використовується для тестування сайту. Але й для нашої задачі вона підходить ідельно. Раджу вам почитати про цю бібліотеку. Ну а інше в коді повинно бути зрозумілим, бо це ж Пітон ;)

Categories: Кодинг Tags:
  1. September 29th, 2009 at 22:47 | #1

    >> Бекап – це ідельний захист від хакерів
    це не захист, і не _від_ хакерів )
    а скоріше спасіння, і _після_ хакерів )

  2. September 29th, 2009 at 22:52 | #2

    @poma
    Абсолютно згоден. Виправився )

  1. No trackbacks yet.