Реализация корзины в SAMBA
21.03.2011 - 20:32
Теперь при удалении файлов в вашей шаре будет создана корзина ".recycle".
После нескольких звонков с работы во время отпуска, с вопросом: "Как мне восстановить тот файл, который я удалила с сетевого диска? Что, все набирать заново?", решил поискать реализацию проблемы в SAMBA. Раньше это был патч(smbrecycle_bin), сейчас включили в пакет. Сложного ничего нет, суть заключается в том, что все удаленные объекты будут перемещаться в специально созданную папку ".recycle".
Создадим конфиг:
[root@router /]#cat > /usr/local/etc/samba/recycle.conf
#относительный путь к каталогу корзины
repository = .recycle/%U
mode = KEEP_DIRECTORIES|VERSIONS|TOUCH
#максимальный размер файла для помещения в корзину, 0 - без ограничения.
maxsize = 0
#файлы с такими расширениями не будут помещены в корзину
exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.trace
#директории с такими именами не будут помещены в корзину
excludedir = /tmp|/temp|/cache
#исключения для новых версий (эти файлы не будут сохранены при удалении нескольких копий)
noversions = *.doc|*.ppt|*.dat|*.ini
#сохранять каталоги?
keeptree = Yes
#делать версификацию файлов, если имена одинаковы
versions = Yes
repository = .recycle/%U
mode = KEEP_DIRECTORIES|VERSIONS|TOUCH
#максимальный размер файла для помещения в корзину, 0 - без ограничения.
maxsize = 0
#файлы с такими расширениями не будут помещены в корзину
exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.trace
#директории с такими именами не будут помещены в корзину
excludedir = /tmp|/temp|/cache
#исключения для новых версий (эти файлы не будут сохранены при удалении нескольких копий)
noversions = *.doc|*.ppt|*.dat|*.ini
#сохранять каталоги?
keeptree = Yes
#делать версификацию файлов, если имена одинаковы
versions = Yes
Теперь добавляем его в секцию "Global" конфига самбы:
#подключаем vfs обьект - Корзина
vfs object = recycle
#путь к конфигу корзины
config-file = /usr/local/etc/samba/recycle.conf
vfs object = recycle
#путь к конфигу корзины
config-file = /usr/local/etc/samba/recycle.conf
и перезапускаем демон самбы:
[root@router /usr/local/etc/rc.d]# ./samba restart
Performing sanity check on Samba configuration: OK
Stopping winbindd.
Waiting for PIDS: 14573.
Stopping smbd.
Stopping nmbd.
Waiting for PIDS: 14560.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Starting winbindd.
[root@router /usr/local/etc/rc.d]#
Performing sanity check on Samba configuration: OK
Stopping winbindd.
Waiting for PIDS: 14573.
Stopping smbd.
Stopping nmbd.
Waiting for PIDS: 14560.
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Starting winbindd.
[root@router /usr/local/etc/rc.d]#
Теперь при удалении файлов в вашей шаре будет создана корзина ".recycle".
- Войдите на сайт для отправки комментариев
- Версия для печати