Bene, se è uno script che impiega poco potresti procedere così: ad ogni caricamento di pagina del tuo sito fai un piccolo controllo sulla data attuale e la confronti con la data dell'ultimo test (potresti anche fare una semplice query sulla tabella in questione che ti dia la data più recente presente, e la confronti con la data attuale). Se nelle due date il mese è differente, il che significa che hai cambiato mese, allora puoi eseguire una volta sola la tua query di backup, semplicemente tenendo presente che il mese che ti interessa non è quello attuale ma quello attuale - 1.
Anche le modifiche richieste al tuo codice dovrebbero essere minime.
Così sei sicuro che non appena qualcuno guarda il sito nel nuovo mese, fa fare il backup del vecchio mese...