Есть FreePBX, на котором ведется запись звонков. За год набирается около 200 Гб и их нужно бэкапить и освобождать место на сервере телефонии.
Дабы не забивать каналы разовым копированием, оптимальней делать это по немногу, но каждый день .
Как показала практика записи более чем двух летней давности спросом не пользуются.
Копировать будем каждый день по одному дню, со сдвигом в 2 года, т.е. 08.12.2017 скопируются записи от 08.12.2015.
Учитывая, что «предпредыдущий» год может оказаться високосным, копируем 28 февраля записи от 29-го.
Ну и после удачного копирования удалим директорию.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
then ]#!/bin/sh # Copyright ©2017 Aleksey Rogov <alex@arogov.com> cdrpath="/var/spool/asterisk/monitor" ftpsrv="xxx.xxx.xxx.xxx" ftpuser="user" ftppass="pass" backuppath="freepbx" day=$(date +%d) month=$(date +%m) year=$(expr $(date +%Y) - 2) if [ ! -d "$cdrpath/$year/$month/$day" ] then >&2 echo "path don't exist" exit 1 fi cd $cdrpath if [ $month -eq "02" ] && [ $day -eq "28" ] && [ -d "$cdrpath/$year/$month/29" ] then wput -R $year/$month/29 ftp://$ftpuser:$ftppass@$ftpsrv/$backuppath/ if [ $? -eq 0 ] then rm -r $year/$month/$day fi fi wput -R $year/$month/$day ftp://$ftpuser:$ftppass@$ftpsrv/$backuppath/ if [ $? -eq 0 ] then rm -r $year/$month/$day fi |