用shell编写一个脚本用于清理2023年以前的多数据库多表的数据
时间: 2024-02-16 11:03:24 浏览: 74
好的,以下是一个清理2023年以前的多数据库多表数据的Shell脚本:
```
#!/bin/bash
# 数据库信息
DB_USER="your_db_username"
DB_PASSWORD="your_db_password"
DB_HOST="your_db_host"
# 你要清理的多个数据库名
DB_NAMES=("db1" "db2" "db3")
# 你要清理的多个表名
TABLE_NAMES=("table1" "table2" "table3")
# 清理数据的时间戳
CLEAN_TIMESTAMP=$(date -d "2023-01-01" +%s)
# 遍历每一个数据库和表进行数据清理
for DB_NAME in "${DB_NAMES[@]}"
do
for TABLE_NAME in "${TABLE_NAMES[@]}"
do
echo "Cleaning data in table $TABLE_NAME of database $DB_NAME ..."
# 使用MySQL的DELETE语句进行数据清理
mysql -u $DB_USER -p$DB_PASSWORD -h $DB_HOST -D $DB_NAME -e "DELETE FROM $TABLE_NAME WHERE timestamp < $CLEAN_TIMESTAMP"
echo "Data in table $TABLE_NAME of database $DB_NAME cleaned."
done
done
echo "All data cleaned."
```
您只需要将脚本中的 `your_db_username`、`your_db_password`、`your_db_host` 替换成您自己的数据库信息,`db1`、`db2`、`db3` 替换成您要清理的数据库名,`table1`、`table2`、`table3` 替换成您要清理的表名,保存脚本并执行即可。
阅读全文