Вот как я решил это в своем файле backup.service:
[Unit]
Description=Backing up folders (/var/www/)
[Service]
Type=oneshot
WorkingDirectory=/backup/www/
ExecStart=/bin/tar -zcf "backup_weekly.tar.gz" /var/www
ExecStart=/usr/bin/find /backup/www/ -maxdepth 0 -name "backup_*.tar.gz" -type f -mtime +30 -delete
ExecStart=/bin/sh /backup/www/rename_backup.sh
Это мой файл backup.timer:
[Unit]
Description=Make Backup of /var/www/
[Timer]
OnCalendar=weekly
Persistent=true
[Install]
WantedBy=timers.target
И, наконец, вот файл сценария, который называетсяrename_backup.sh, который находится в папке резервной копии:
mv /backup/www/backup_weekly.tar.gz /backup/www/backup_weekly_$(date +%F).tar.gz
Причина, по которой я не решил просто выполнить скрипт, заключалась в том, что я хотел просто запустить его из systemd, скопировав только два файла, иделая систему независимой.Оказывается, у systemd есть свои предпочтения и проблемы с командами bash, из-за чего некоторые из них не работают.Рядом с моим исполнением скрипт создает резервную копию с именем «backup_weekly.tar.gz», дата еще не указана.Однако затем вызывается сценарий, который переименовывает «backup_weekly.tar.gz» (который всегда будет создаваться с таким именем systemd.service) в «backup_weekly_DATE.tar.gz».Я предполагаю, что это не самый элегантный способ, но кажется, что все в порядке, так как это довольно короткий сценарий.Я думаю, что можно с уверенностью сказать, что копирование этого в другую систему не должно причинить вреда, даже если по какой-то причине оно окажется неудачным.