Programming and Exciting Things

We All Want to Be Young

Published on 27.11.2010

[vimeo]16638983[/vimeo]

Спиране на процес с psutil - python

Published on 25.11.2010

psutil проекта позволява лесно и бързо да намерим даден процес и да го манипулираме. A по този начин намираме iexplorer.exe и го спираме :)

import psutil

PROCNAME = "iexplore.exe"
for proc in psutil.process_iter():
    if proc.name == PROCNAME:
        p = psutil.Process(proc.pid)
        p.terminate()
Пълната документация на поддържаните методи е достъпна от тук а самата библиотека може да се свали от тук

OneClick FTP сървър

Published on 25.11.2010

Благодарение на Python написах едно елементарно ftp сървърче. Портът на който работи е 21. Няма възможност за user/pass автентикаця и работи с anynomus, не предлага опция да се качват файлове а само за сваляне. Основната директория е тази от която се стартира приложението. Тествано е под Windows 7 и Windows Vista Може да се свали от тук

няколко команди - DNSCMD

Published on 20.11.2010

Function

DNSCMD option

Example

Comments

Do any dnscmd command on a remote system

dnscmd servername command

dnscmd main.bigfirm.com /zoneprint bigfirm.com

   

Create a primary zone

dnscmd /zoneadd zonename /primary

dnscmd /zoneadd bigfirm.com /primary

   

Create a secondary zone

dnscmd /zoneadd zonename /secondary master IP address

dnscmd /zoneadd bigfirm.com /secondary 192.168.1.1

   

Host a zone on a server based on an existing (perhaps restored) zone file

dnscmd /zoneadd zonename /primary /file filename /load

dnscmd /zoneadd bigfirm.com /primary /file bigfirm.com.dns /load

   

Delete a zone from a server

dnscmd /zonedelete zonename [/f]

dnscmd /zonedelete bigfirm.com /f

(without the /f, dnscmd asks you if you really want to delete the zone)

Show all of the zones on a DNS server

dnscmd /enumzones

dnscmd /enumzones

   

Dump (almost) all of the records in a zone

dnscmd /zoneprint zonename

dnscmd /zoneprint bigfirm.com

Doesn't show glue records.

Add an A record to a zone

dnscmd /recordadd zonename hostname A ipaddress

dnscmd /recordadd bigfirm.com mypc A 192.168.1.33

   

Add an NS record to a zone

dnscmd /recordadd zonename @ NS servername

dnscmd /recordadd bigfirm.com @ dns3.bigfirm.com

   

Delegate a new child domain, naming its first DNS server

dnscmd /recordadd zonename childname NS dnsservername

dnscmd /recordadd bigfirm.com test NS main.bigfirm.com

This would create the "test.bigfirm.com" DNS child domain unter the bigfirm.com DNS domain

Add an MX record to a zone

dnscmd /recordadd zonename @ MX priority servername

dnscmd /recordadd bigfirm.com @ MX 10 mail.bigfirm.com

   

Add a PTR record to a reverse lookup zone

dnscmd /recordadd zonename lowIP PTR FQDN

dnscmd /recordadd 1.168.192.in-addr.arpa 3 PTR pc1.bigfirm.com

This is the PTR record for a system with IP address 192.168.1.3

Modify a zone's SOA record

dnscmd /recordadd zonename @ SOA primaryDNSservername responsibleemailipaddress serialnumber refreshinterval retryinterval expireinterval defaultTTL

dnscmd /recordadd bigfirm.com @ SOA winserver.bigfirm.com mark.bigfirm.com 41 1800 60 2592000 7200

Ignores the serial number if it's not greater than the current serial number

Delete a resource record

dnscmd /recorddelete zonename recordinfo [/f]

dnscmd /recorddelete bigfirm.com @ NS main.bigfirm.com /f

Again, "/f" means "don't annoy me with a confirmation request, just do it."

Create a resource record and incorporate a nonstandard TTL

dnscmd /recordadd zonename leftmostpartofrecord TTL restofrecord

dnscmd /recordadd bigfirm.com pc34 3200 A 192.168.1.4

   

Reload a zone from its zone file in \windows\system32\dns

dnscmd /zonereload zonename

dnscmd /zonereload bigfirm.com

Really only useful on primary DNS servers

Force DNS server to flush DNS data to zone file

dnscmd /zonewriteback zonename

dnscmd /zonewriteback bigfirm.com

   

Tell a primary whom to allow zone transfers to

dnscmd /zoneresetsecondaries zonename /nonsecure|securens

dnscmd /zoneresetsecondaries bigfirm.com /nonsecure

That example says to allow anyone who asks to get a zone transfer

Enable/disable DNS NOTIFY

dnscmd /zoneresetsecondaries zonename /notify|/nonotify

dnscmd /zoneresetsecondaries bigfirm.com /nonotify

Example disables DNS notification, which is contrary to the default settings.

Tell a secondary DNS server to request any updates from the primary

dnscmd /zonerefresh zonename

dnscmd /zonerefresh bigfirm.com

   

Enable or disable dynamic DNS on a zone

dnscmd /config zonename /allowupdate 1|0

1 enables, 0 disables, 0 is default

   

Stop the DNS service

Either net stop dns or sc stop dns

   

(No dnscmd command for this)

Start the DNS service

Either net start dns or sc start dns

   

(No dnscmd command for this)

Install the DNS service on a 2008 full install system

servermanagercmd -install dns

   

   

Install the DNS service on a 2008 Server Core system

ocsetup DNS-Server-Core-Role

   

Case matters -- ocsetup dns-server-core-role would fail

Uninstall the DNS service on a 2008 Server full install system

servermanagercmd -remove dns

   

   

Uninstall the DNS service on a 2008 Server Core system

ocsetup /uninstall DNS-Server-Core-Role

   

   

Изкопирано от http://www.minasi.com/newsletters/nws0803a.htm

Изпълняване на Python скриптове с apache сървър

Published on 02.11.2010

На тестовата (developer ската) машина си имам инсталиран apache,php,mysql от пакета на Zend - Zend Server. По новият проект по който работя използвам и Python, идеята тук е да "пускам" python скриптовете през apache а не примерно през

 shell_exec('command') 
. Идеята е да се подкара без външни модули. За целта намираме httpd.conf файла (обикновено в "C:\Program Files\Zend\Apache2\conf" директорията), правим му резервно копие за всеки случай, отваряме го с някой текстови редактор пр. notepad. В последния ред на файла добавяме ScriptInterpreterSource Registry. А в < Directory "C:\Program Files\Zend\Apache2/htdocs" > намираме Options Indexes и му добавяме +ExecCGI като трябва да стане Options Indexes +ExecCGI и на нов ред добавяме AddHandler cgi-script .cgi .py при мен директивата изглежда по следния начин
< Directory "C:\Program Files (x86)\Zend\Apache2/htdocs" >
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks +ExecCGI
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All
    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all
	AddHandler cgi-script .cgi .py
< / Directory >

Важно е да спомена че това е един от начините за подкарване на python в уеб под Windows. Тествано е на Windows Server 2003 и Windows 7. Записваме промените по файла и рестартираме Apache сървъра. Ако има проблеми при стартирането четем лога за грешки и действаме :) За тестване дали всичко е ок след рестартирането на Apache може да използвате следния код
#!c:/Python27 python
# -*- coding: UTF-8 -*-

# enable debugging
import cgitb
cgitb.enable()

print &quot;Content-Type: text/plain;charset=utf-8&quot;
print

print &quot;Hello World!&quot;

като реда #!c:/Python27 python указва къде е инсталиран python :)