前からやってみたかったのでサラっとやってみる。
ゴミ箱の作り方#
たぶんsambaが2とか3のバージョンのときからあったと思う。
今のバージョンを確認してみる。
psで確認するとsmbdって名前で動いてるから、適当に–versionってやってみる。
1
2
3
|
$ /usr/sbin/smbd --version
Version 4.11.6-Ubuntu
$
|
いったんsamba4使ってるから方法探してみると、メモっておられる方がいた。
作者さんありがとう。
Linux samba4 でゴミ箱機能を有効にする - わすれないうちにメモしよう
共有設定に追記#
自分はデータの入ったパーティションを必ず別ディスクにしてる。
dockerっていう領域。
1
2
3
|
$ df -h | grep docker
/dev/sdb 629G 110G 488G 19% /docker
$
|
dockerはコンテナと永続化業域が入ってる。
smb.confにはglobal指定と、共有ごとの指定がある。
global指定にはこう足した。
1
2
|
[global]
vfs objects = recycle
|
次にdockerのための領域の共有に「recycle」で始まる行をいくつか追記。
ゴミ箱は隠しフォルダにしたかったので、ドットつきのフォルダ名を指定。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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で実行。
1
2
3
|
# cd /docker
# mkdir .recycle
# chmod 0777 .recycle
|
windowsの画面から/dockerの領域にある「docker-compose.yml」をコピーする。
1
2
3
|
$ ls -a /docker/docker-compose*
'/docker/docker-compose - コピー.yml' /docker/docker-compose.yml
$
|
これをwindowsの画面から削除して.recycleの中見てみると入ってる。
1
2
3
|
$ ls -a /docker/.recycle/
. .. 'docker-compose - コピー.yml'
$
|
もう1回コピーして削除すると、「Copy #1 of 」がついてもう1つ入ってる。
1
2
3
|
$ ls -a /docker/.recycle/
. .. 'Copy #1 of docker-compose - コピー.yml' 'docker-compose - コピー.yml'
$
|
ゴミ箱いっぱいにならないようにときどき削除#
定期バックアップを自動で動かすと、ゴミ箱にもデータが自然に入っていく。
windowsからやると時間かかることもあるから、linux側のcrontabに削除処理を登録しとく。
月~金曜の昼頃に削除するってことで完了。
1
|
59 11 * * 1-5 rm -fR /docker/.recycle/*
|