pt-archiver结合crontab定时自动归档数据

it2024-12-15  39

根据时间戳定时归档

#!/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

最新回复(0)