在linux服务器上自动备份数据库
脚本如下,没有任何问题: # !/usr/bin/python
import os
import time
import datetime
import pipes
import glob DB_HOST = '192.168.44.158'
DB_USER = 'root'
DB_USER_PASSWORD = 'MyNewPass4!'
DB_NAME = 'hanwo'
BACKUP_PATH = '/mnt/dbbackup/mysql/'
DATETIME = time.strftime('%Y%m%d-%H%M%S')
TODAYBACKUPPATH = BACKUP_PATH + '/' + DATETIME try:
os.stat(TODAYBACKUPPATH)
except:
os.mkdir(TODAYBACKUPPATH)
print("checking for databases names file.")
if os.path.exists(DB_NAME):
file1 = open(DB_NAME)
multi = 1
print("Databases file found...")
print("Starting backup of all listed in file" + DB_NAME)
else:
print("Databases file not found...")
print("Starting backup of database" + DB_NAME)
multi = 0 if multi:
in_file = open(DB_NAME, "r")
flength = len(in_file.readlines())
in_file.close()
p = 1
dbfile = open(DB_NAME, "r") while p <= flength:
db = dbfile.readline()
db = db[:-1]
dumpcmd = "mysqldump -h " + DB_HOST + " -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + pipes.qute(
TODAYBACKUPPATH) + "/" + db + ".sql"
os.system(dumpcmd)
gzipcmd = "gzip" + pipes.quote(TODAYBACKUPPATH) + "/" + db + ".sql"
os.system(gzipcmd)
p = p + 1
dbfile.close()
else:
db = DB_NAME
dumpcmd = "mysqldump -h " + DB_HOST + " -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + pipes.quote(
TODAYBACKUPPATH) + "/" + db + ".sql"
os.system(dumpcmd)
gzipcmd = " gzip " + pipes.quote(TODAYBACKUPPATH) + "/" + db + ".sql"
os.system(gzipcmd)
path_file_number = glob.glob(BACKUP_PATH)
print(len(path_file_number))
print("")
print("Backup script completed")
print("Your backups have been created in '" + TODAYBACKUPPATH + "' directort")
在linux服务器上自动备份数据库的更多相关文章
- linux服务器上修改oracle数据库的字符集
		
linux服务器上以dba身份进入:sqlplus / as sysdba; 依次执行以下命令:shutdown immediate; startup mount; alter system enab ...
 - Linux服务器rsync自动备份
		
一.在 server 端配置 1. 编辑配置文件 #vi /etc/rsyncd.conf 添加下面的配置参数: uid = nobody # 该选项指定当该模块传输文件时守护进程应该具有的uid.默 ...
 - 使用Navicat连接管理远程linux服务器上的mysql数据库
		
第一步:选择连接,选择mysql 第二步:填写下面弹出框的信息:连接名随便写,主机名或IP地址:写上服务器的ip. 端口不变 用户名不变. 密码:输入服务器数据库的密码12345678. 接着测 ...
 - (转发)Navicat 远程连接 Linux服务器上的MySQL数据库
		
授权法: 在安装mysql的机器上运行: 1.# ./bin/mysql -uroot -p //这样应该可以进入MySQL服务器 2.mysql> GRANT ALL PRIVILEGES O ...
 - 使用脚本在Linux服务器上自动安装Kubernetes的包管理器Helm
		
Helm之于Kubernetes好比yum之于Red Hat Enterprise Linux,或者apt-get之于Ubuntu. Helm是由helm CLI和Tiller组成,是典型的Clien ...
 - Linux服务器上安装MySql数据库(默认安装,密码为空),首次使用需要修改密码
		
1,在/etc/my.cnf末尾 加入skip-grant-tables,保存,跳过身份验证. 2,重启MySql,使刚才修改的配置生效. 3,终端输入mysql,然后再输入use mysql; 4 ...
 - linux中FTP自动备份VPS脚本
		
服务器多了,网站也越来越多,总觉得不整个备份心里放不下心,并且有好几次rm的操作失误,造成难以挽回的损失.并且大多数的VPS提供商是不提供自动备份功能或者此功能收费价格略高.所以自己还是有必要把这个工 ...
 - 在linux和windows下自动备份数据库
		
摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...
 - 定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)
		
由于需要对网络设备做备份,备份文件是放到windows机器上的.现在需要将备份数据同步到linux备份机器上,想到的方案有三种: 1)将windows的备份目录共享出来,然后在linux服务器上进行挂 ...
 
随机推荐
- CSS基础-如何用border写三角形?
			
1.常用的border的单值属性(border指的是边框.) /*边框样式属性*/ border-style: solid; /*边框颜色*/ border-color: #06a43a; /*边框宽 ...
 - 界面开发工具集Telerik UI for ASP.NET AJAX发布R2 2019
			
Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80+控件,将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半.Te ...
 - JAVA笔记16-生产者消费者问题
			
http://www.cnblogs.com/happyPawpaw/archive/2013/01/18/2865957.html import java.util.*; public class ...
 - 【NOIP2016提高A组模拟9.9】闭门造车
			
题目 自从htn体验了一把飙车的快感,他就下定决心要闭门造车!但是他两手空空怎么造得出车来呢?无奈的他只好来到了汽车零部件商店. 一走进商店,玲琅满目的各式零件看得htn眼花缭乱.但是他很快便反应过来 ...
 - try-catch-finally try中有rerun 是否执行finally
			
finally块的语句在try或catch中的return语句执行之后返回之前执行且finally里的修改语句可能影响也可能不影响try或catch中 return已经确定的返回值,若finally里 ...
 - 11.关于django的content_type表
			
****** Django的contenttype表中存放发的是app名称和模型的对应关系 contentType使用方式 - 导入模块 from django.contrib.contenttype ...
 - 【java工具类】生成Zip压缩包
			
多文件生成压缩包,返回压缩包生成位置的路径. FileUtil.java /** * 文件打压缩包 * @param files * @param Name * @return * @throws E ...
 - 计算器work_day05
			
day_work_05 ------Python是一个优雅的大姐姐 作业计算器 设计思路 按照运算优先级和正则先算括号内的值,提出来判断符号问题,然后依次计算. 分析题目设计了四个函数,分别为a)去括 ...
 - java文件分片上传,断点续传
			
文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...
 - 为什么C++中只有指针和引用才能实现多态?
			
代码: class A { public: virtual void Debug(){} }; class B:public A { public: virtual void Debug(){} }; ...