improve optimize script

This commit is contained in:
mh 2014-01-12 14:19:26 +01:00
parent d459760890
commit 7bde4efe1e

View file

@ -3,10 +3,12 @@
# set home as we runit as weekly cron, where HOME is /
ENV['HOME'] = '/root'
tables = %x{mysql -Bse "SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema','mysql') AND Data_free > 0 AND ENGINE IN ('MyISAM','InnoDB','ARCHIVE')"}
tables.each { |table|
tableitems = table.chomp.split(/\t/)
system "mysql #{tableitems[0]} -Bse \"OPTIMIZE TABLE \\`#{tableitems[0]}\\`.\\`#{tableitems[1]}\\`\" | grep -q OK"
if $?.to_i > 0 then
puts "error while optimizing #{tableitems[0]}.#{tableitems[1]}"
end
}
tables.each do |table|
tableitems = table.chomp.split(/\t/)
output = %x{mysql #{tableitems[0]} -Bse "OPTIMIZE TABLE \\`#{tableitems[0]}\\`.\\`#{tableitems[1]}\\`" 2>&1}
unless output =~ /status\t+OK/
puts "Error while optimizing #{tableitems[0]}.#{tableitems[1]}:"
puts output
puts
end
end