# -*-coding:utf-8-*-
import ConnSql
import datetime
def data_backup():
"""
备份data_all表 30天的数据
:return:
"""
conn = ConnSql(db_info['host'], db_info['port'], db_info['user'], db_info['password'], db_info['database'])
# 获取当前时间
today = datetime.datetime.now()
# 获取30天前的0点
zero_time = today - datetime.timedelta(days=30, hours=today.hour, minutes=today.minute, seconds=today.second,
microseconds=today.microsecond)
time_end = datetime.datetime.strftime(zero_time, "%Y-%m-%d %H:%M:%S")
msg4 = f'正在备份testing_tool_equipment_rate_info{zero_time}前的源数据'
print(msg4)
try:
conn.execute('create table data_all_backup like data_all')
except:
print('备份表已存在')
conn.execute(
f"insert into data_all_backup select * from data_all where data_all.date_updated <'{time_end}'")
add_flag = False
try:
conn.commit()
add_flag = True
print('备份完成')
except Exception as err:
conn.rollback()
print('备份失败')
if add_flag is True:
msg4 = f'正在删除data_all表{time_end}前的源数据'
print(msg4)
conn.execute(
f"DELETE FROM data_all WHERE data_all.date_updated < '{time_end}'")
try:
conn.commit()
print('删除成功')
except Exception as err:
conn.rollback()
print('删除失败')
conn.close()
数据库表数据备份,python脚本
于 2022-03-03 13:31:44 首次发布