#!/bin/sh
echo "DB create select Backup Job Start"
yday=`date --date '1 days ago' +%Y%m%d`
test=''
test_index=''
/bin/mkdir /data/mysqldump/$yday
# Drop Table day write
echo "" >> /root/bin/logdb_backup_1_day_drop.sh
echo "$yday LogDB Drop Table" >> /root/bin/logdb_backup_1_day_drop.sh
echo "" >> /root/bin/logdb_backup_1_day_drop.sh
# LogDB Table create select
for job_table in accesslog aaaa bbbb cccc dddd;
do
test=$job_table\_$yday
test_index=idx_$test\_01
echo "`date '+%F %T'` backing up the previous $job_table: BEGIN" >> /tmp/logDB_back.out
echo "`date '+%F %T'` backing up the previous $job_table: BEGIN"
case $job_table in
accesslog)
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create table $test select * from $job_table where sdate between subdate(curdate(), 1) and concat(subdate(curdate(),1), ' 23:59:59')"
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create index $teet_index on $test(gid, sdate, edate)"
;;
aaaa)
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create table $test select * from $job_table where axis_date between subdate(curdate(), 1) and concat(subdate(curdate(),1), ' 23:59:59')"
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create index $test_index on $test(gid, axis_date, axis_hour, client_ip)"
;;
bbbb)
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create table $test select * from $job_table where axis_date between subdate(curdate(), 1) and concat(subdate(curdate(),1), ' 23:59:59')"
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create index $test_index on $test(gid, video, axis_date, client_ip)"
;;
cccc)
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create table $test select * from $job_table where cdate between subdate(curdate(), 1) and concat(subdate(curdate(),1), ' 23:59:59')"
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create index $test_index on $test(gid, client_ip, axis_date)"
;;
dddd)
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create table $test select * from $job_table where cdate between subdate(curdate(), 1) and concat(subdate(curdate(),1), ' 23:59:59')"
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "create index $test_index on $test(gid, cdate)"
;;
esac
sleep 5
echo "`date '+%F %T'` backing up the previous $job_table: END" >> /tmp/logDB_back.out
echo "Job End" >> /tmp/logDB_back.out
echo "`date '+%F %T'` $job_table Table Dump: BEGIN" >> /tmp/logDB_back.out
# /usr/local/mysql/bin/mysqldump -u root -p12345678 --single-transaction logs $test > /data/mysqldump/$yday/$test\_dump.sql
sleep 5
echo "`date '+%F %T'` Table Dump $job_table: END" >> /tmp/logDB_back.out
echo "Job End" >> /tmp/logDB_back.out
echo "" >> /tmp/logDB_back.out
echo "" >> /tmp/logDB_back.out
# /usr/local/mysql/bin/mysql -u root -p12345678 logs -e "drop table $test"
# Drop Table query
# echo "/usr/local/mysql/bin/mysql -u root -p12345678 logs -e \"drop table $test\"" >> /root/bin/logdb_backup_1_day_drop.sh
done
echo ""
echo "DB create select Backup Job End" >> /tmp/logDB_back.out
# Services Table Dump Start
echo "`date '+%F %T'` Services Table Dump BEGIN" >> /tmp/logDB_back.out
/usr/local/mysql/bin/mysqldump -u root -p12345678 --single-transaction --ignore-table=zzzz --ignore-table=xxxx --ignore-table=vvvv --ignore-table=nnnn --ignore-table=mmmm logs > /data/mysqldump/$yday/services_table_$yday\_dump.sql
echo "`date '+%F %T'` Services Table Dump END" >> /tmp/logDB_back.out
echo "`date '+%F %T'` Dump table rsync Start" >> /tmp/lodDB_back.out
/usr/bin/rsync -a -e ssh --bwlimit=1024 /data/mysqldump/$yday/services_table_$yday\_dump.sql root@1.2.3.4:/data/logdb/services_table/services_table_$yday\_dump.sql
/bin/rm -f /data/mysqldump/$yday/services_table_*
/usr/bin/rsync -a -e ssh --bwlimit=1024 /data/mysqldump/$yday/ root@1.2.3.4:/data/logdb/$yday/
# 14 day ago table delete
for delete_table in accesslog axis_client_ip axis_video_client_ip play_log user_env_play_log;
do
echo "`date '+%F %T'` Delete Table $delete_table: START" >> /tmp/logDB_back.out
case $delete_table in
aaaa)
/usr/local/mysql/bin/mysql -u root -pdevel9870 logs -e "delete from $delete_table where sdate < concat(subdate(curdate(),2), ' 00:00:00')"
;;
bbbb)
/usr/local/mysql/bin/mysql -u root -pdevel9870 logs -e "delete from $delete_table where axis_date < concat(subdate(curdate(),2), ' 00:00:00')"
;;
cccc)
/usr/local/mysql/bin/mysql -u root -pdevel9870 logs -e "delete from $delete_table where axis_date < concat(subdate(curdate(),2), ' 00:00:00')"
;;
dddd)
/usr/local/mysql/bin/mysql -u root -pdevel9870 logs -e "delete from $delete_table where cdate < concat(subdate(curdate(),2), ' 00:00:00')"
;;
eeee)
/usr/local/mysql/bin/mysql -u root -pdevel9870 logs -e "delete from $delete_table where cdate < concat(subdate(curdate(),2), ' 00:00:00')"
;;
esac
sleep 5
echo "`date '+%F %T'` Delete Table $delete_table: END" >> /tmp/logDB_back.out
echo "Delete Table End" >> /tmp/logDB_back.out
done
# Job end
echo "`date '+%F %T'` Dump table rsync END" >> /tmp/logDB_back.out
/bin/mv /tmp/logDB_back.out /data/mysqldump/log/logDB_back_$yday
'IT Study > script' 카테고리의 다른 글
file create shell scripts (0) | 2016.03.04 |
---|---|
mysql schema backup scripts (0) | 2016.02.19 |
redis process check scripts (0) | 2016.02.19 |
dmesg를 메일로 보내는 스크립트 (0) | 2016.02.19 |
hostname 변경하는 스크립트 (0) | 2016.02.19 |