Реализация корзины в SAMBA

21.03.2011 - 20:32

После нескольких звонков с работы во время отпуска, с вопросом: "Как мне восстановить тот файл, который я удалила с сетевого диска? Что, все набирать заново?", решил поискать реализацию проблемы в 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

Теперь добавляем его в секцию "Global" конфига самбы:

#подключаем vfs обьект - Корзина
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]#

Теперь при удалении файлов в вашей шаре будет создана корзина ".recycle". Winking

Ваша оценка: Нет Средняя: 4.3 (6 votes)