php ile yapabilirsin.
tablona makale_id | eklenme_tarihi | bitis
gibi sütunlar ekle.

makaleye girilen zamanı mktime() ile php de dönüştür ve mysql deki bitis timestamp i çek.
eğer $girilenzaman > $bitis ise

DELETE ile sil ya da tabloya yayın diye bir enum sütun ekle.

yine

$girilenzaman > $bitis ise

yayin sütununu 0 yap.yayin = 0 olanlar yayından kalkmış olanları listelesin ve scriptinde makaleleri listelerken bu parametrenin kontrolünü yaparak yayınla.Böylece yazın yayından kalkmış olur.

Aklıma gelen ilk çözüm bu.CRON la daha da geliştirilebilir elbet.