Направими впечатление че обикновения потребител бяга като чуе думичката линукс, но пък не може нито да го разпознае нито да обясни защо не го иска. Та имам едно приятелче което п [airbadge]Kohana 2x offline documentation, http://labs.yuksbg.net/kohana_offline_docs/Kohana_docs.air, 1, http://labs.yuksbg.net/kohana_offline_docs/kohana.jpg[/airbadge]
Is.Gd има супер елементарно API и за използването му в php ни трябва само и единствено 1 функция от 1 ред.
function short($u) {
$sh=file_get_contents("http://is.gd/api.php?longurl=".$u);
return $sh;
}
Как биха изглеждали рекламите на най-големите IT компании ако бяха страртирали своите проекти през 60те години на 20 век? Една бразилска агенция на име Moma си е задала този въпрос и ето го резултата.
В ерата на Windows 7 все още се налага тук таме да се инсталират операционни системи от преди мноооого години :) Днес ми се наложи да форматирам едно лаптопче Dell имах на дискове
Преди наколко дни си сглобих едно скриптче на Python което да ми архивира и праща базата данни към email-а през определен период от време (cron). Скриптчето е тествано и работи на сървърите на Superhosting.bg
import commands
import sys
import time
import os
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
db_host = '127.0.0.1'
db_user = "username_for_database"
db_pass = "*******************"
email_user = ""
email_smtp_server = "*.superhosting.bg"
email_from_user = "Yuks <admin@yuksbg.net>"
email_smtp_login_user = "admin@yuksbg.net"
email_smtp_login_pass = "*******"
email_smtp_server_port = "25"
email_smtp_sent_to = ["backUp@yuksbg.net"]
temp_folder = "/home/*****/scripts/backup_db/"
def backup_db(currentDatabase):
backupFile = temp_folder + currentDatabase + ".sql"
backupFilePath = temp_folder + currentDatabase + ".sql"
zipFile = temp_folder + currentDatabase + ".tgz"
commands.getoutput("mysqldump --host=%s --opt --user=%s --password=%s %s > %s" % (db_host, db_user, db_pass, currentDatabase, backupFilePath))
os.chdir(temp_folder)
commands.getoutput("/bin/tar cfz %s %s" % (zipFile, backupFile))
os.remove(backupFilePath)
def sendMail(to, subject, text, files=[]):
assert type(to)==list
assert type(files)==list
msg = MIMEMultipart()
msg['From'] = email_from_user
msg['To'] = COMMASPACE.join(to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
msg.attach( MIMEText(text) )
for file in files:
part = MIMEBase('application', "octet-stream")
part.set_payload( open(file,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"'
% os.path.basename(file))
msg.attach(part)
smtp = smtplib.SMTP(email_smtp_server,email_smtp_server_port)
smtp.login(email_smtp_login_user, email_smtp_login_pass)
smtp.sendmail(email_from_user, to, msg.as_string() )
smtp.close()
def backup_and_send(bdatabase):
backup_db(bdatabase)
sendMail(email_smtp_sent_to,"Database archive of " + bdatabase,"Database " + bdatabase,[temp_folder + bdatabase + ".tgz"])
os.chdir(temp_folder)
os.remove(bdatabase + ".tgz")
#print "ok!"
backup_and_send(sys.argv[1])
За да работи коректно е нужно да се променят някои от параметрите и по конкретно
db_host = '127.0.0.1' // сървъра на mysql db_user = "username_for_database" // потребителското име за достъп до Mysql db_pass = "*******************"// паролата за достъп до Mysql email_user = "" email_smtp_server = "*.superhosting.bg"// smtp сървъра за изпращане на mail email_from_user = "Yuks <admin@yuksbg.net>"// полето от на изпращания емаил email_smtp_login_user = "admin@yuksbg.net"// потребителя за smtp сървъра email_smtp_login_pass = "*****"//паролата за smtp сървъра email_smtp_server_port = "25" // порта за smtp сървъра email_smtp_sent_to = ["archive@yuksbg.net"] // email адреса до който ще се праща temp_folder = "/home/*****/backup_db/"// временна директория с права за писанеРаботата със скрипта е по следния начин:
python /full/path/to/script/script.py database_to_archive
Може да се свали и от тук
Освен ако не е посочено друго, всички текстове и снимки в този блог са защитени от лицензното споразумение на Creative Commons Attribution-Share Alike 2.5 Bulgaria