удаление файлов по crontab (crontab создает но неудалет созданные файлы)
Модераторы: SLEDopit, Модераторы разделов
-
tigerSL
- Сообщения: 8
- ОС: Debian, Windows
удаление файлов по crontab
Всем привет!
Описание проблемы:
OS Debian
Написал скрипт на shell для дампа базы данных,
дамп производиться ежедневно по запуску из crontab.
Скрипт делает новый дамп в домашнюю папку пользователя,
условно назовем пользователя user, а затем должен удалять все старые дампы.
Файл crontab принадлежит пользователю user. группа crontab.
Файл скрипта расположен в домашнем каталоге пользователя user, владелец user, группа user.
Файлы дампа имеют имя состоящее из номера дня в году и некоторого буквенного префикса, например xxx150, владелец user, группа user.
При ручном запуске скрипт работает корректно, при запуске через crontab скрипт не удаляет старые дампы.
Права доступа назначал разные в том числе и 777, хотя по идее должен удалять при -rw-------.
Права доступа к каталогу куда делается дамп 777.
Вопрос.
Что делаю не так, почему скрипт не удаляет файлы ?
Благодарю за внимание
Описание проблемы:
OS Debian
Написал скрипт на shell для дампа базы данных,
дамп производиться ежедневно по запуску из crontab.
Скрипт делает новый дамп в домашнюю папку пользователя,
условно назовем пользователя user, а затем должен удалять все старые дампы.
Файл crontab принадлежит пользователю user. группа crontab.
Файл скрипта расположен в домашнем каталоге пользователя user, владелец user, группа user.
Файлы дампа имеют имя состоящее из номера дня в году и некоторого буквенного префикса, например xxx150, владелец user, группа user.
При ручном запуске скрипт работает корректно, при запуске через crontab скрипт не удаляет старые дампы.
Права доступа назначал разные в том числе и 777, хотя по идее должен удалять при -rw-------.
Права доступа к каталогу куда делается дамп 777.
Вопрос.
Что делаю не так, почему скрипт не удаляет файлы ?
Благодарю за внимание
-
tigerSL
- Сообщения: 8
- ОС: Debian, Windows
Re: удаление файлов по crontab
Всем привет!
Описание проблемы:
OS Debian
Написал скрипт на shell для дампа базы данных,
дамп производиться ежедневно по запуску из crontab.
Скрипт делает новый дамп в домашнюю папку пользователя,
условно назовем пользователя user, а затем должен удалять все старые дампы.
Файл crontab принадлежит пользователю user. группа crontab.
Файл скрипта расположен в домашнем каталоге пользователя user, владелец user, группа user.
Файлы дампа имеют имя состоящее из номера дня в году и некоторого буквенного префикса, например xxx150, владелец user, группа user.
При ручном запуске скрипт работает корректно, при запуске через crontab скрипт не удаляет старые дампы.
Права доступа назначал разные в том числе и 777, хотя по идее должен удалять при -rw-------.
Права доступа к каталогу куда делается дамп 777.
Вопрос.
Что делаю не так, почему скрипт не удаляет файлы ?
Благодарю за внимание
Описание проблемы:
OS Debian
Написал скрипт на shell для дампа базы данных,
дамп производиться ежедневно по запуску из crontab.
Скрипт делает новый дамп в домашнюю папку пользователя,
условно назовем пользователя user, а затем должен удалять все старые дампы.
Файл crontab принадлежит пользователю user. группа crontab.
Файл скрипта расположен в домашнем каталоге пользователя user, владелец user, группа user.
Файлы дампа имеют имя состоящее из номера дня в году и некоторого буквенного префикса, например xxx150, владелец user, группа user.
При ручном запуске скрипт работает корректно, при запуске через crontab скрипт не удаляет старые дампы.
Права доступа назначал разные в том числе и 777, хотя по идее должен удалять при -rw-------.
Права доступа к каталогу куда делается дамп 777.
Вопрос.
Что делаю не так, почему скрипт не удаляет файлы ?
Благодарю за внимание
-
alfss
- Сообщения: 262
Re: удаление файлов по crontab
мы не телепаты- скрипт не видели
вообше в сторону env смотрите
вообше в сторону env смотрите
-
tigerSL
- Сообщения: 8
- ОС: Debian, Windows
Re: удаление файлов по crontab
В какую сторону смотреть, что там видно?
Вот скрипт
##########################################
## список баз данных host01_...
dbname=`echo "show databases"|mysql ${mysqlparam}|grep host01_`
echo $dbname
## день года для префикса файла дампа
day=`date "+%j"`
##day=`date "+%M"`
#echo "$day"
# полный путь к месту копирования и имя файла без префикса
fp=`echo "/home/host-01/mysqldump/"`
#echo "$fp"
fname=`echo "mysqldump.txt"`
#echo "$fname"
# полное имя файла с путем и префиксом
ffn="$fp$day$fname"
#echo "$ffn"
# пользователь и пароль
user=`echo "root"`
pass=`echo "password"`
#echo "$user $pass"
# делаем дамп
mysqldump -B $dbname --user="${user}" --password="$pass">"$ffn"
##chmod 664 "$ffn"
# список файлов к удалению (оставляем только сегодняшний)
remf=`ls ${fp}|grep -v "${day}"|grep -v "exe"`
# удаляем файлы
# echo $remf>/home/host-01/rem.txt
rm -f $remf
############################################
-
korisk
- Сообщения: 205
- ОС: Xubuntu
Re: удаление файлов по crontab
tigerSL писал(а): ↑06.08.2009 03:50Всем привет!
Описание проблемы:
OS Debian
Написал скрипт на shell для дампа базы данных,
дамп производиться ежедневно по запуску из crontab.
Скрипт делает новый дамп в домашнюю папку пользователя,
условно назовем пользователя user, а затем должен удалять все старые дампы.
Файл crontab принадлежит пользователю user. группа crontab.
Файл скрипта расположен в домашнем каталоге пользователя user, владелец user, группа user.
Файлы дампа имеют имя состоящее из номера дня в году и некоторого буквенного префикса, например xxx150, владелец user, группа user.
При ручном запуске скрипт работает корректно, при запуске через crontab скрипт не удаляет старые дампы.
Права доступа назначал разные в том числе и 777, хотя по идее должен удалять при -rw-------.
Права доступа к каталогу куда делается дамп 777.
Вопрос.
Что делаю не так, почему скрипт не удаляет файлы ?
Благодарю за внимание
в скрипте, исполняемом кроном все пути должны быть абсолютными
это?
Registerd Linux user #486684 at http://counter.li.org/
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: удаление файлов по crontab
tigerSL, а зачем вы создали две одинаковых темы в одном форуме?
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: удаление файлов по crontab
tigerSL, создание одинаковых тем у нас на форуме запрещено правилами.
! Предупреждение от модератора автор получает предупреждение за создание дублей.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
-
Kreept
- Сообщения: 107
- ОС: Linux
Re: удаление файлов по crontab
Не придумывайте велосипед, его до Вас придумали.
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2|xargs rm -f $1 -- найти и удалить файлы которые созданы позднее чем 2 дня.
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2|xargs rm -f $1 -- найти и удалить файлы которые созданы позднее чем 2 дня.
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: удаление файлов по crontab
Kreept, xargs вовсе необязателен, find вполне достаточно:
Или так:
Код: Выделить всё
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2 -deleteИли так:
Код: Выделить всё
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2 -exec rm -f {} \;-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: удаление файлов по crontab
Это хуже, чем xargs.allez писал(а): ↑06.08.2009 10:33Или так:
Код: Выделить всё
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2 -exec rm -f {} \;
Мои розовые очки
-
tigerSL
- Сообщения: 8
- ОС: Debian, Windows
-
tigerSL
- Сообщения: 8
- ОС: Debian, Windows
Re: удаление файлов по crontab
Благодарю, не знал
allez писал(а): ↑06.08.2009 10:33Kreept, xargs вовсе необязателен, find вполне достаточно:
Код: Выделить всё
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2 -delete
Или так:
Код: Выделить всё
/usr/bin/find /home/host-01/mysqldump/ -type f -mtime +2 -exec rm -f {} \;
Благодарю
Это случайно, новичок...