Podrías ejecutar un
script que busque al siguiente registro de la tabla de trabajadores cada domingo en la noche (Cronjob que se ejecutará cada siete días), para lo cual primero tendrías que tomar el id del trabajador registrado en el último registro de la tabla que almacena los períodos de guardia. Una vez que tomes el id de dicho registro, procederías a añadir un nuevo registro en la tabla que almacena los períodos de guardia, indicando la fecha inicial, final, horarios y el id del trabajador. Para el cálculo de fechas, existen funciones que pueden sumar días, semanas, meses o años a la fecha indicada; incluso usando solo MySQL.