Ротирование с помощью LogrotateЧтобы не захламлять сервер бэкапами трехсотлетней давности не обязательно писать свои скрипты. Для этой цели отлично подойдет системный logrotate, - умная и гибкая в настройках утилита. На приведенном ниже примере я покажу как заставить срвер делать ежедневные дампы-бэкапы MySQL баз с лимитом по количеству в 8 штук. То есть, у вас будут данные ваших БД за последние 8 дней. Для полноценной работы утилиты вам потребуется пароль root от вашего MySQL сервера. Итак, создаем файл настройки вашего ротатора, где будут установлены лимит на количество бэкапов и собственно сама команда создания бэкапа баз: sudo nano /etc/logrotate.d/mysql-backup
/var/backup/db.sql.gz { dailyrotate 8 nocompress create 640 root adm postrotatemysqldump -u root -pPassword --all-databases > /var/backup/db.sql --single-transaction gzip -9f /var/backup/db.sqlendscript } 2. Создадим первую пустышку бэкапа: sudo touch /var/backup/db.sql.gz И, наконец, проверим работоспособность - выполним эту команду: sudo logrotate -f /etc/logrotate.d/mysql-backup Профит.. )
|