Haciendo un crontab más eficiente

Corro un server relativamente simple con un par de sitios web que mantengo.

Configuré un crontab para volcar el mysql y cerrar el diario de PHP. Rotación durante una semana tengo 7 incrementos de lo que ha estado pasando. A continuación, utilizar el mismo crontab para copyrlos del server en otro.

Utilizando el bit mysql como ejemplo, tengo

16 3 * * tue mysqldump filename > /var/backups/b-Tuesday/filename.sql 16 3 * * wed mysqldump filename > /var/backups/b-Wednesday/filename.sql [etc] 

Esto se repite para que el PHP se cierre para cada uno de los sitios y de nuevo para la parte scp del process.

¿Hay una manera de tener un trabajo diario para cada sitio que sabe savelo a la carpeta de reserva del día relevante algo que teniendo 7 trabajos para cada cosa que estoy haciendo una copy de security?

¿Qué tal si se utiliza la function de date en la llamada?

 16 3 * * * mysqldump filename > /var/backups/b-`date +%A`/filename.sql 

Pruebe un script de shell algo como esto:

 #!/bin/bash /usr/bin/mysqldump filename | /usr/bin/bzip2 -c > /var/backups/b-`date +%A`/filename.sql.bup.bz2 

Eso es similar a lo que está en mi /etc/cron.daily/ pero con cambios para tus routes. Sigo pensando en hacer más con él, pero funciona y las copys de security están muy bien comprimido también!

Mi formatting de date es realmente la date +%Y%m%d para darme más información, pero conservo las copys de security por más de 7 días.

Como alternativa, el command logrotate controlará la compression, el cambio de nombre (con dates), la eliminación, etc. de los files que se generan todos los días. Usted podría llamar a sus commands de volcado todos los días y llamar a logrotate una vez al día también. El file de configuration de logrotate le permite especificar qué files girar y qué hacer con ellos.

Para una solución rápida y viable, el punto de Brent en el uso de la date.

Dependiendo de la necesidad, y el deseo de flexibilidad futura, podría considerar lanzar las copys de security en un script de shell. De esa manera usted puede usar la misma base de código para diario, semanal, por hora, o lo que sea. También obtendrá el beneficio del logging de errores y la generación de informes (si eso es de valor).

Tangencialmente relacionado, rsnapshot administrará rotaciones de reserva horarias, diarias, semanales y mensuales para usted. Utiliza una combinación inteligente de rsync y enlaces duros para realizar copys de security.