I have a mysql table with 120 million rows and I want to write a shell script to start purging some of that useless information in that table that’s not needed. Problem is I’m super new to shell scripting.
I have a datetime column with a unix timestamp in it. I want to delete every row that’s not within the last 2 months since I’ve recently enacted a data retention policy that will allow me to only keep 2 months of certain data.
TL;DR Need to build a shell script that deletes all rows up until the last 2 months of data by using the unix timestamp in the datetime column.
UPDATE: Here’s my new shell script
#!/bin/sh
i=1
while [ "$i" -ne 0 ]
do
i=mysql -h 127.0.0.1 -u halo_ylh -pCa5d8a88 halo_twittstats < mysqlpurge.sql
sleep 10
done
Wouldn’t it be easier to just use the current_timestamp and unix_timestamp function to execute:
To run it from the shell you could put that command in a file
script1.sqland run it using the mysql command line tool: