Нужен скриптик, который бы удалял файлы старше N дней
Модератор: arachnid
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Нужен скриптик, который бы удалял файлы старше N дней
Народ!
Нужен скриптик, который бы удалял файлы старше N дней в определённой папке. Раз в сутки или может быть в реальном времени.
Нужен скриптик, который бы удалял файлы старше N дней в определённой папке. Раз в сутки или может быть в реальном времени.
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Модератор
- Сообщения: 4818
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Нужен скриптик, который бы удалял файлы старше N дней
Скриптик? Там же одна команда (:
где N - количество дней.
при необходимости запихнуть в крон.
Код: Выделить всё
find /path -type f -ctime +N -delete
при необходимости запихнуть в крон.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
SLEDopit писал(а): ↑22.05.2013 10:51Скриптик? Там же одна команда (:
где N - количество дней.Код: Выделить всё
find /path -type f -ctime +N -delete
при необходимости запихнуть в крон.
Здорово! А как эту команду запихнуть в крон? Создать файл *.sh, его прописать в crontab? Что-то типа * 0 * * * /root/scripts/*.sh ?
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Модератор
- Сообщения: 4818
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Нужен скриптик, который бы удалял файлы старше N дней
ну зачем плодить лишние сущности в виде скриптов для таких простых случаев?
Код: Выделить всё
* 15 * * * find /path -type f -ctime +N -delete
вот если бы там было что-то посложнее, с проверками и отсылкой результатов на почту, то нужен был бы скрипт. а так всё хорошо.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
SLEDopit писал(а): ↑22.05.2013 12:27ну зачем плодить лишние сущности в виде скриптов для таких простых случаев?
Код: Выделить всё
* 15 * * * find /path -type f -ctime +N -delete
вот если бы там было что-то посложнее, с проверками и отсылкой результатов на почту, то нужен был бы скрипт. а так всё хорошо.
А если в лог вывести?
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
Запись * 13 * * * в crontab - это каждый день в 13-00 или каждые 13 часов? А то в таком виде в 13-00 не сработало чего-то.
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Сообщения: 937
- ОС: [K]Ubuntu, Debian
Re: Нужен скриптик, который бы удалял файлы старше N дней
Каждый день в 13-00.
Только между кодом времени и командой надо, наверно, вставить логин пользователя, от которого команда будет запущена. (Не знаю, как во FreeBSD, а в GNU/Linux так.)
Только между кодом времени и командой надо, наверно, вставить логин пользователя, от которого команда будет запущена. (Не знаю, как во FreeBSD, а в GNU/Linux так.)
-
- Модератор
- Сообщения: 20567
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Нужен скриптик, который бы удалял файлы старше N дней
Это каждую минуту с 13:00 до 13:59. Подозреваю, SLEDopit просто опечатался и вместо первой * хотел написать 0.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
Bizdelnick писал(а): ↑22.05.2013 13:55
Это каждую минуту с 13:00 до 13:59. Подозреваю, SLEDopit просто опечатался и вместо первой * хотел написать 0.
Всем спасибо! Всё заработало!!
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Модератор
- Сообщения: 4818
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Нужен скриптик, который бы удалял файлы старше N дней
Да, именно так.Bizdelnick писал(а): ↑22.05.2013 13:55Подозреваю, SLEDopit просто опечатался и вместо первой * хотел написать 0.
каждые 13 часов будет : 0 */13 * * *
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
А как бы залогировать в файл?
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Модератор
- Сообщения: 4818
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Нужен скриптик, который бы удалял файлы старше N дней
Код: Выделить всё
find /path -type f -ctime +N -ls -delete | tee -a /path/to/log
чтобы и stderr в лог перенаправить, перед пайпом добавьте 2>&1.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
спс
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
-
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: Нужен скриптик, который бы удалял файлы старше N дней
Это нужно делать только в том случае, если правке подвергается общесистемный файл /etc/crontab, задания из которого могут быть запущены от имени разных пользователей. При правке же пользовательских файлов командой crontab -e указывать имя пользователя не нужно, что вполне очевидно. И данное утверждение справедливо как для BSD, так и для линуксов.
-
- Сообщения: 411
- ОС: gentoo
Re: Нужен скриптик, который бы удалял файлы старше N дней
Кстати (совсем не кстати). Запись */13 означает не "каждые 13 часов", а "в каждый час, кратный 13". В данном случае будет выполняться только один раз в сутки - в 13:00.
-
- Сообщения: 553
- Статус: Хочу подружиться с пингвином
- ОС: Ubuntu 9.04 + GNOME
Re: Нужен скриптик, который бы удалял файлы старше N дней
SLEDopit писал(а): ↑27.05.2013 09:57в /path/to/log будет выведен список удалённых файлов.Код: Выделить всё
find /path -type f -ctime +N -ls -delete | tee -a /path/to/log
чтобы и stderr в лог перенаправить, перед пайпом добавьте 2>&1.
Вот так вот?
find /path -type f -ctime +N -ls -delete 2>&1 | tee -a /path/to/log
Хочу оттопырить все дистрибутивы((
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04
HomeServer: FreeBSD 8.0
Notebook: Ubuntu 9.04