Назад | Перейти на главную страницу

cron скрипт не удаляет файлы?

Я скопировал это из записи в блоге, изучил, немного подправил и более или менее работает:

#!/bin/bash

GZ_DATE=`date +%Y%m%d`
GZ_TIME=`date +%H`

BK_PATH=/mnt/usbbk/sql
BK_FILE=$BK_PATH/$GZ_DATE-$GZ_TIME.gz

#
# Find all files older than 7 days (10080 minutes) and remove them
#

find BK_PATH* -type f -mmin +10080 -exec rm {} \;

#
# Dump and gzip export of SQL data
#

mysqldump --lock-all-tables --all-databases -u backup -p backup | gzip > $BK_FILE

Однако, похоже, он не удаляет резервные копии, которые

Вы хотели это опубликовать? Выглядит незаконченным.

Это не удаление файлов, потому что строка, которую вы ожидаете удалить, - это find команда, которая выполняет rm в найденных файлах - закомментирован (начинается с #). Это игнорируется.

Раскомментировать find BK_PATH* -type f -mmin +10080 -exec rm {} \;

Я предполагаю, что в действующей версии этого скрипта находка не закомментирована (на самом деле хорошая идея - комментировать структуру find -exec rm во вставленном скрипте)?