#!/bin/bash
# file name : gpdb_clear.sh
# author : jeff yuan
# start time
start_time=$(date)
echo "-------- Start time is $start_time --------"
start_seconds=$(date +%s)
# remove gpdb-log before 3 month ago
clear_date=$(date -d '-3 month' '+%Y-%m-%d')
timeline="gpdb-$clear_date*.csv"
echo "-------- Clear File like $timeline --------"
rm -rf $timeline
# end time
end_time=$(date)
echo "-------- End time is $end_time --------"
end_seconds=$(date +%s)
diff=$((end_seconds - start_seconds))
echo "Total $diff seconds."
echo ""
echo ""
--------------------------------------------------------我是华丽的分割线-------------------------------------------------------------------
最近看shell,发现了一个更简单的实现方法,主要区别是删除的那一段,整理如下:
#!/bin/bash
# start time
start_time=$(date)
echo "-------- Start time is $start_time --------"
start_seconds=$(date +%s)
# delete log files
find /data/master/gpseg-1/pg_log -mtime +90 -name "*.csv" -exec rm -rf {} \;
find /seg0/gpseg0/pg_log -mtime +90 -name "*.csv" -exec rm -rf {} \;
find /seg1/gpseg1/pg_log -mtime +90 -name "*.csv" -exec rm -rf {} \;
find /seg2/gpseg2/pg_log -mtime +90 -name "*.csv" -exec rm -rf {} \;
find /seg3/gpseg3/pg_log -mtime +90 -name "*.csv" -exec rm -rf {} \;
# end time
end_time=$(date)
echo "-------- End time is $end_time --------"
end_seconds=$(date +%s)
diff=$((end_seconds - start_seconds))
echo "Total $diff seconds."
echo ""
echo ""
转载于:https://my.oschina.net/javacy/blog/544570