タイトルから少し闇を感じますが、こういった機会もあるかと思います。
方針
show table status で Create_timeとUpdate_timeを指定して一覧を取得
awk で良い感じにファイル出力
方法
以下のような形で一括で。
create_migration_mysqldump.sh
TARGETHOST=(MySQLのホスト)
TARGETUSER=(MySQL接続ユーザー名)
TARGETDATABASE=(DB名を指定する必要あり)
TARGETPW=(パスワードを直接書くのはよくないです。一連の作業が終わったらすべてファイルごと消しましょう。)
TARGETDATETIME="2017-03-01 00:00:00"
EXECUTEEDDATE=`date +"%Y%m%d"`
mysql -u${TARGETUSER} -p${TARGETPW} -h ${TARGETHOST} --execute="show table status from ${TARGETDATABASE} where Create_time >='${TARGETDATETIME}' or Update_time >='${TARGETDATETIME}';" -N | awk 'BEGIN { FS="\t"; } { print "mysqldump -u'"${TARGETUSER}"' -p'"${TARGETPW}"' -h'"${TARGETHOST}"' '"${TARGETDATABASE}"' "$1" > "$1"."'"${EXECUTEEDDATE}"'".dump #-- created_"$12 " updated_" $13 }'
実行結果
mysqldump -uUSERNAME -pPASSWORD -hTARGETHOST TARGETDATABASE TABLENAME1 > TABLENAME1.20170412.dump #-- created_2017-03-28 21:04:43 updated_2017-03-28 21:24:00
mysqldump -uUSERNAME -pPASSWORD -hTARGETHOST TARGETDATABASE TABLENAME2 > TABLENAME2.20170412.dump #-- created_2017-03-28 21:05:21 updated_NULL
mysqldump -uUSERNAME -pPASSWORD -hTARGETHOST TARGETDATABASE TABLENAME3 > TABLENAME3.20170412.dump #-- created_2017-03-28 21:08:27 updated_NULL
mysqldump -uUSERNAME -pPASSWORD -hTARGETHOST TARGETDATABASE TABLENAME4 > TABLENAME4.20170412.dump #-- created_2017-03-28 21:06:26 updated_NULL
mysqldump -uUSERNAME -pPASSWORD -hTARGETHOST TARGETDATABASE TABLENAME5 > TABLENAME5.20170412.dump #-- created_2017-03-29 18:40:49 updated_NULL
※誤解を招く部分があったため、再投稿しております。