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

Опубликовано:

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

Понравилась статья, расскажи о ней друзьям, нажми кнопку!