使用sae的storage服务来自动保存数据库文件

自己写了一个简单的脚本,可以在服务器上面将小站的数据库每天做备份,然后可以使用python来通过访问url来保存到本地,今天无聊想起了好久未动过的sae了,想着试试sae的服务来将数据库文件保存到storage中.下面分享给大家过程.首先,你要在sae上面部署python应用.这个我就不说了,Google一下一大堆教程.然后就是部署代码,然后修改index.wsgi文件为下面的代码

import saefrom sae.storage import Bucketimport urllib2 import smtplibimport timefrom email.message import Messageimport email.utilsimport base64correct_time = time.strftime('%m_%d_%H_%M_%S',time.localtime(time.time()))url = "xxxxxxxxxxxxx"这个修改成你的数据库文件的地址def send_email(file_url):    smtpserver = 'smtp.gmail.com'    #这儿大家都能看懂吧,修改成你自己的.    username = 'ooooooo'    password = 'xxxxxxxxxx'    from_addr = 'ffffffff@gmail.com'    to_addr = 'tttttttt@gmail.com'    message = Message()    message['Subject'] = 'Sql Data Backup'    message['From'] = from_addr    message['To'] = to_addr    message.set_payload('Sql Data Backup OK at '+correct_time + ' url is  '+file_url)    msg = message.as_string()    sm = smtplib.SMTP(smtpserver,port=587,timeout=20)    sm.ehlo()    sm.starttls()    sm.ehlo()    sm.login(username, password)    sm.sendmail(from_addr, to_addr, msg)    sm.quit()  def checktest():    bucket = Bucket('sssssss') #修改成你自己的storage名    bucket.put()    bucket.post(acl='.r:.sinaapp.com,.r:sae.sina.com.cn', metadata={'expires': '1d'})    f = urllib2.urlopen(url)    data = f.read()    bucket.put_object(correct_time+".sql", data)    file_url = bucket.generate_url(correct_time+".sql")    return file_urldef app(environ, start_response):    status = '200 OK'    response_headers = [('Content-type', 'text/html; charset=utf-8')]    start_response(status, response_headers)    file_url = checktest()    send_email(file_url)    return ['Welcome to SAE!']application = sae.create_wsgi_app(app)

说明下主要是先获得数据库文件,然后按照日期格式保存,之后保存在storage中,然后通过发送sql文件地址到邮件来提醒.发送邮件在python smtplib和email模块有详细说明.最后修改config.yaml文件,添加下面的代码段

cron:- description: cron_test  url: /  schedule: "1 1 * * *"

意思就是在每天都1点1分来运行这个任务.好了,就是这么多,其实我也对sae是一窍不通,最近有时间才偶尔看看的.分享出来,希望对大家有所帮助.

转载请注明:逝去日子的博客 » 使用sae的storage服务来自动保存数据库文件

福报不够的人,就会常常听到是非;

使用sae的storage服务来自动保存数据库文件

相关文章:

你感兴趣的文章:

标签云: