
解决:把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源码泄露漏洞
多线程运行
程序的思路是先检测漏洞,在扫描备份,文件结果自动保存在当前目录!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)