有关python 压缩备份的问题

有关python 压缩备份的问题,第1张

问题:我没有在Python2.7下测试你的代码,只是在Python3.2下测试的,因为我没装2.7版本的。不过,没关系,其字符串用法及其意义是一样的。我测试了一下,应该是其中的一句出错了:target_dir=r'D:\bak\\' 。这句话在语法上没有问题,也是要这么写,但是target_dir的值就有可能不是我们所想的了,你可以使用print输出一下target_dir的值,我在3.2下输入的结果是:D:\bak\\。这一看就不对,多了一个反斜杠(\),导致在Windows下路径出错。

解决:把target_dir=r'D:\bak\\'后面再加上一句:target_dir=target_dir[0:-1]。这样一来,就把最后的反斜杠给清除了,路径就对了!应该没问题了,我直接看的代码,发现这句有问题,就对这句单独测试的,其它的代码没有测试,不过,看语法应该没问题了!

另外:你使用的后缀名是.rar,压缩命令是rar程序,所以备份的文件名应该是rar文件;在Windows下,我没用过rar命令行压缩命令,也不太清楚,推测应该是rar文件。至于你问的文件夹可以不可以备份和文件夹下的目录可以不可以备份,这不是 Python所管的事(至少在你这段代码中),至于能不能,要看你这个Windows下的rar程序支持不支持了;如果支持,就可以,如果不支持,就不可以。原因:os.system()函数类似于C/C++中的system(),它会把传递给它的参数交给系统环境(也就是运行Python程序 *** 作系统)来执行,这和我们在相应的系统环境中的命令行下直接命令是一样的,区别就是我们这个使用的是脚本,可以保存代码以自动(例行性服务)或手动地、定期地备份!

用python是非常方便的,非常方便就能备份mysql和sqlserver,

下面我们来具体看看如何用:

#coding=gbk

import os

import time

os.system("mysqldump -h192.168.0.2 -uddd -pggg xdreams >E:/mysqldack/xdreams/xdreamsfdfdf.txt")

上面就成功把0.2机器上的mysql数据库备份下来,

导入数据库:mysql -h192.168.0.2 -uroot -psz212 -P 7659 hotelguanli <G:/temp/2013-03-28-10-34-35.sql

下面是sqlserver的:

os.system("sqlcmd.exe -S 127.0.0.1,56678 -U sa -P 123456 -d 数据库名 -b -c cmd_end -Q \"backup database 数据库名 to disk='d:/sql.bak'\"")

看看,是不是很简单。

当然还可以通过os.path.getsize(r"d:/sql.bak")/1024来获取这个文件的大小,返回的是K,

备份文件还可以用时间值来命名:

如:

nowtime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))+""

改造上面一条:

os.system("mysqldump -h192.168.0.2 -uddd -pggg xdreams >E:/mysqldack/xdreams/xdreams"+nowtime+".txt")

如果再完善一点,就加个备份完成后发一封邮件到你邮箱里吧。

其它要注意到的一点就是sqlxerver和备份中,sqlserver服务器实列要支付远程连接,开启sql brower服务

两个数据库的密码不要含有"^"这个符号,因为在cmd里好像识别不到它,转义也不行,具体原因没查到.

现在,加在windows或linux的计划任务中去,每天执行它,至此,大功告成.

config.txt是配置文件

url.txt是要扫描的url

内部配置相关的常见编辑器漏洞和svn源码泄露漏洞

多线程运行

程序的思路是先检测漏洞,在扫描备份,文件结果自动保存在当前目录!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8165235.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存