◆◆◆
前からやってみたかったのでサラっとやってみる。
ゴミ箱の作り方
たぶんsambaが2とか3のバージョンのときからあったと思う。
今のバージョンを確認してみる。
psで確認するとsmbdって名前で動いてるから、適当に–versionってやってみる。
$ /usr/sbin/smbd --version
Version 4.11.6-Ubuntu
$
いったんsamba4使ってるから方法探してみると、メモっておられる方がいた。
作者さんありがとう。
共有設定に追記
自分はデータの入ったパーティションを必ず別ディスクにしてる。
dockerっていう領域。
$ df -h | grep docker
/dev/sdb 629G 110G 488G 19% /docker
$
dockerはコンテナと永続化業域が入ってる。
smb.confにはglobal指定と、共有ごとの指定がある。
global指定にはこう足した。
[global]
vfs objects = recycle
次にdockerのための領域の共有に「recycle」で始まる行をいくつか追記。
ゴミ箱は隠しフォルダにしたかったので、ドットつきのフォルダ名を指定。
[nariDocker]
comment = naFSlinux nariDocker-SMB
path = /docker
public = yes
browseable = yes
writable = yes
create mode = 777
directory mode = 777
force user = nari
force group = nari
recycle:repository = .recycle
recycle:versions = yes
recycle:touch = no
recycle:touch_mtime = no
recycle:maxsize = 0
recycle:exclude = *.tmp *.temp
recycle:keeptree = yes
ゴミ箱領域を作っておく。
rootで実行。
# cd /docker
# mkdir .recycle
# chmod 0777 .recycle
試す
windowsの画面から/dockerの領域にある「docker-compose.yml」をコピーする。
$ ls -a /docker/docker-compose*
'/docker/docker-compose - コピー.yml' /docker/docker-compose.yml
$
これをwindowsの画面から削除して.recycleの中見てみると入ってる。
$ ls -a /docker/.recycle/
. .. 'docker-compose - コピー.yml'
$
もう1回コピーして削除すると、「Copy #1 of 」がついてもう1つ入ってる。
$ ls -a /docker/.recycle/
. .. 'Copy #1 of docker-compose - コピー.yml' 'docker-compose - コピー.yml'
$
ゴミ箱いっぱいにならないようにときどき削除
定期バックアップを自動で動かすと、ゴミ箱にもデータが自然に入っていく。
windowsからやると時間かかることもあるから、linux側のcrontabに削除処理を登録しとく。
月~金曜の昼頃に削除するってことで完了。
59 11 * * 1-5 rm -fR /docker/.recycle/*