pt-archiver結合crontab定時自動歸檔資料

Mr.Lpp發表於2020-10-21

根據時間戳定時歸檔

#!/bin/sh
#source ~/.bash_profile
#Get current timestamp
current=`date "+%Y-%m-%d %H:%M"`
timeStamp=`date -d "$current" +%s`
#echo $timeStamp
#currentTimeStamp=$((timeStamp*1000+`date "+%N"`/1000000))
currentTimeStamp=$((timeStamp*1000))
echo $currentTimeStamp
date=$(date +%Y%m%d)
#Create new table
#Source db information
source_ip="xxx.xxx.xxx.xxx"
source_port="xxx"
source_username="xxxx"
source_password="xxxx"
source_dbname="xxxx"
source_table="xxxxx"
column_name="xxxx"
#Target db information
target_ip="xxx.xxx.xxx.xxx"
target_port="xxxx"
target_username="xxxxx"
target_password="xxxxx"
target_dbname="xxxxx"
target_table="${source_table}_${date}"
#echo $target_table
create_table_sql="CREATE TABLE ${target_table} (id bigint NOT NULL);"
/bin/mysql -h${target_ip} -P${target_port} -u${target_username} -p${target_password} ${target_dbname} -e "${create_table_sql}"
#Archive history data
/usr/bin/pt-archiver --source h=${source_ip},u=${source_username},p=${source_password},D=${source_dbname},t=${source_table},A=utf8,P=${source_port} --dest h=${target_ip},u=${target_username},p=${target_password},D=${target_dbname},t=${target_table},A=utf8,P=${target_port} --max-lag=3m --limit=1000 --progress=50000 --statistics --where "${column_name} <=$currentTimeStamp" --bulk-delete --replace

相關文章