Создаём файл /home/backup_1c.sh
***********************************************
#!/bin/bash
# КОПИРОВАНИЕ
# Откуда и куда будем копировать
from_dir=/srv/dev-disk-by-label-ssd/1C
to_dir=/srv/dev-disk-by-label-hdd/backup/1C
# Генерируем новую папку
time_folder=$(date "+%Y_%m_%d__%H_%M_%S")
time_dir="$to_dir/$time_folder"
mkdir -p $time_dir
# Копируем файлы и папки в созданную папку
cp -R $from_dir/* $time_dir
# УДАЛЕНИЕ СТАРОГО
# Необходимое количество папок
need_dirs=5
cd $to_dir
count_dirs=$(ls -1t -d *| wc -l)
message=''
if [[ $need_dirs -ge $count_dirs ]]
then
message='Лимит папок не достигнут, удалять пока нечего'
else
delete_count_dirs=$(($count_dirs-$need_dirs))
delete_dirs=$(ls -1t -r -d *| head -n $delete_count_dirs)
message="Внимание, следующие папки будут удалены: $delete_dirs"
for d_dir in $delete_dirs
do
rm -rf $d_dir
echo "Удалена старая папка: $d_dir"
done
fi
#echo $message
***********************************************
Добавляем правило в планировщик:
crontab -e
0 23 * * 1,2,3,4,5 /home/backup_1c.sh >> /home/backup_1c.log
PS
Возможно понадобиться сделать скрипт исполняемым
Есть в orm метод annotate, когда я его использую, то не учитываются параметры сортировки ordering. Если я его из цепочки удаляю, то ordering работает.
Например: ordering = ['title', 'view']
Это такая бага, или что то ещё нужно донастроить, чтобы родной ordering работал?