INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

WordPress Mu: удаляем мертвые блоги

№ 2091 В разделах: Programming Sysadmin от April 29th, 2010,
В подшивках:

После многолетнего срача на моем маленьком хостинге блогов я все-таки решился написать программу, которая удаляет дохлые блоги, но оставляет зарегистрированных пользователей. Программа написана на Ruby с применением gem mysql.

#!/usr/bin/ruby -w
require "rubygems"
require "mysql"

connection = Mysql.connect "database.host", "login", "passwd", "database_name"

queryres = connection.query "SELECT blog_id,path FROM `wp_blogs` where 
last_updated < '2010-04-23'"
puts "#{queryres.count} мертвых блога"
while blog = queryres.fetch_row do
  querystr = "SELECT option_value FROM `wp_#{blog[0]}_options` where 
option_name='post_count'"
  queryres2 = connection.query querystr
  while option_value = queryres2.fetch_row do
    if "#{option_value}".to_i < 3
      puts "Блог #{blog[1]} (#{blog[0]}) имеет #{option_value} записей - удален"
      connection.query "delete from wp_blogs where blog_id=#{blog[0]}"
      connection.query "drop table wp_#{blog[0]}_comments, wp_#{blog[0]}_links, 
wp_#{blog[0]}_options, wp_#{blog[0]}_postmeta, wp_#{blog[0]}_posts, 
wp_#{blog[0]}_terms, wp_#{blog[0]}_term_relationships, wp_#{blog[0]}_term_taxonomy;"
    else
      puts "Блог #{blog[1]} (#{blog[0]}) имеет #{option_value} записей - пропущен"
    end
  end
end

connection.close if connection

Получаем все блоги с последними записями до указанного числа. и если их меньше 3, то удаляем записи о их существовании и дропаем таблицы блогов. Дату можно сделать вычисляемой и вставлять в запрос прямо во время работы программы. Я уверен, что вы сделаете это сами, если понадобится. Впрочем, за небольшую плату мы можем договориться об установке и настройки под ваши нужны 😉

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Облачная платформа

Микроблог перейти


🇷🇺 © Vladimir Smagin, 2005-2023. Копирование материалов без разрешения запрещено. GPG *
Яндекс.Метрика

Fortune cookie: This MUST be a good party -- My RIB CAGE is being painfully pressed up against someone's MARTINI!!