Задание 3
#!/bin/bash -
mysqldump students_db | xz > "db_dump_$(date + '%Y-%m-%d').sql.xz"
find . -type f -mtime +7 -delete[Unit]
Description=Dump DB every day
[Service]
Type=oneshot
Execstart=/home/user/sh/db_dump[Unit]
Description=Timer for db_dump.service
[Timer]
OnUnitActiveSec=1d
Unit=db_dump.service
[Install]
WantedBy=multi-user.targetЗадание 4
#!/bin/bash -
mysqldump -u test -ptest students_db \
| xz > "db_dump_$(date + '%Y-%m-%d').sql.xz"
find . -type f -mtime +7 -deleteЧтобы дать возможность новому юзеру делать бэкапы, нужно дать ему три разрешения: SELECT, LOCK TABLES, PROCESS.
С первыми двумя, я не думаю, что могут возникнуть проблемы с безопасностью. Но разрешение PROCESS дает право с помощью команды show processlist просматривать чужие соединения и в виде plain текста все чужие запросы, включая запросы root. Опасность главная в том, что в этот список попадают еще и запросы на изменение и установку паролей (тоже plain текстом).