forked from gboudreau/Greyhole
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgreyhole.example.conf
202 lines (166 loc) · 7.61 KB
/
greyhole.example.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# This file is part of Greyhole.
#### Database Connection ####
# Available engines: mysql, sqlite
# When choosing sqlite, 'db_host', 'db_user', 'db_pass' & 'db_name' options are not required, but 'db_path' is.
db_engine = mysql
db_host = localhost
db_user = greyhole_user
db_pass = 89y63jdwe
db_name = greyhole
#db_path = /var/cache/greyhole.sqlite
#### Email Recipient ####
# Will receive email reports for daily fsck, or when all drives are out of
# available space.
# When specifying no @hostname, the email will be delivered to the local
# mailbox of that user.
email_to = root
#email_to = [email protected]
#### Greyhole Log File ####
greyhole_log_file = /var/log/greyhole.log
# Available verbosity levels: DEBUG, INFO, WARN, ERROR, CRITICAL
# Note that for --status to work correctly, you'll need to keep this to DEBUG.
log_level = DEBUG
# Log Greyhole memory usage on each log line?
log_memory_usage = no
# Look for other processes working on files on the Greyhole shares?
# Disable to get more speed, but this might break some files, if any
# application change your files while Greyhole tries to work on them.
check_for_open_files = yes
#### Shares Settings ####
# Number of copies of each file you want Greyhole to keep, per Share.
# This is not the number of duplicates! 2 copies = 1 duplicate
# If you change one of those, you should run fsck manually, or wait for the
# daily fsck, to have the additional copies created, or extra copies deleted.
#
# Example:
#
# num_copies[Backups] = 2
# num_copies[CrashPlan] = 2
# num_copies[Games] = 2
# num_copies[Music] = 2
# num_copies[Photos] = 100 # This will insure those files are on all HDD
# num_copies[RecordedTV] = 1
# num_copies[Software] = 2
# num_copies[TimeMachine] = 1
# num_copies[Videos] = 2
#### Storage Pool ####
# Where should the file copies be kept?
# You probably want to list all your physical hard drives here.
# Also specify how much free space you want to reserve on each drive. This is
# a soft limit that will be ignored if the necessary hard drives are below
# their minimum.
# For example, if you specify a 100 GB limit on all drives, and only one still
# have more than 100 GB of free space, and you save a new file on a share for
# which you specified you want multiple copies, this drive will be used first,
# but the other drives that have less free space will be used to store the
# additional copies.
#
# Example:
#
# storage_pool_directory = /mnt/hdd0/gh, min_free: 10gb
# storage_pool_directory = /mnt/hdd1/gh, min_free: 10gb
# storage_pool_directory = /mnt/hdd2/gh, min_free: 10gb
# storage_pool_directory = /mnt/hdd3/gh, min_free: 10gb
### Directory selection groups ###
# The groups you define here will be available to use in the
# dir_selection_algorithm option(s) below.
# The group names (SATA, IDE, USB and Remote in the example below) can be
# anything you'd like.
# Use one line per group, with the following syntax:
# group name: one or more (comma-separated) storage pool directories
# If you ommit any storage pool directory from your groups, this directory
# will NOT be used by Greyhole!
# dir_selection_groups = SATA: /mnt/hdd0/gh
# IDE: /mnt/hdd1/gh, /mnt/hdd2/gh
# USB: /mnt/hdd3/gh
# Remote: /mnt/remote1/gh, /mnt/remote2/gh
# You can also define dir_selection_groups for specific shares:
#
# dir_selection_groups[Photos] = SATA: /mnt/hdd0/gh
# IDE: /mnt/hdd1/gh, /mnt/hdd2/gh
# USB: /mnt/hdd3/gh
#### Storage Selection Algorithm ####
# available algorithms: random, most_available_space
# most_available_space: use the directories with the most available space
# first, so that available space on all drives should become and stay
# balanced.
# random: use a random directory with available space
dir_selection_algorithm = most_available_space
# If you defined dir_selection_groups above, you'll want to use them here.
# Use the 'forced' keyword, then list the groups you want to use, in order, and
# prefix each group name with the number of directories you want to use from
# that group before using the next group.
# Use the 'all' keyword to indicate you want Greyhole to use all directories
# from a specific group, before starting to use directories from the next group.
# You'll need to indicate how Greyhole should pick drives within a group by
# ending your line with either random or most_available_space.
#
# dir_selection_algorithm = forced (all SATA, 1xIDE, 1xUSB, 1xRemote) most_available_space
# You can also define dir_selection_algorithm for specific shares:
#
# dir_selection_algorithm[Videos] = random
# dir_selection_algorithm[Photos] = forced (1xSATA, 1xIDE, all USB) random
#### Sticky Files ####
# Sticky files are files that will always 'live' together, in the storage pool.
#
# This will allow you to read (and read-only!) those files by using the
# storage pool directories themselves, instead of using the mounted shares.
# To see when that might be useful, read Issue #3 at the URL below.
# [http://code.google.com/p/greyhole/issues/detail?id=3]
#
# Each sticky_files line should start with the name of a share, followed by a
# directory inside that share.
# One or more stick_into lines should follow each sticky_files line, if you
# want the files to go on specific hard drive(s).
# If you don't specify any stick_into, the drive with the most free space will
# be use to hold your files together.
sticky_files = Music/
# sticky_files = Videos/Movies/
# stick_into = /mnt/hdd1/gh
# stick_into = /mnt/hdd5/gh
# How long should free space calculations be cached (in seconds).
# When selecting drives using their available / free space, the last cached
# value will be used.
# Use 0 to disable caching.
df_cache_time = 15
#### Trash ####
# Move deleted files to trash, instead of deleting them?
# (Yes, trash is just another name for a Recycle Bin.)
# You can specify per-share preferences that will override the global
# preference.
delete_moves_to_trash = yes
# delete_moves_to_trash[CrashPlan] = no
# delete_moves_to_trash[TimeMachine] = no
#### Balance with modified files ####
# Change this to 'yes' to use modified files copies to help balance the
# available space in your storage pool directories.
# Note that this will force Greyhole to remove outdated copies, and
# re-create them on the drive(s) with the most available space.
# When set to 'no', existing copies will be kept, and updated using rsync.
balance_modified_files = no
#### Frozen directories ####
# Directories listed below will not be touched by Greyhole until the user
# wants it to (greyhole --thaw=<dir>).
#
# This can be used to process often-updated files at regular intervals,
# instead of having Greyhole process them as soon as they change.
#
# Each frozen_directory line should start with the name of a share, followed
# by a directory inside that share.
# frozen_directory = Data/mysql
#### Maximum Queued Tasks ####
# Maximum number of queued tasks to store in MySQL/SQLite, when parsing the
# spool directory. Use a lower number if you experience slowness while parsing
# spooled operations.
# Default is 100000 when using MySQL, and 1000 when using SQLite.
# Setting a value here will overwrite those defaults.
# max_queued_tasks = 100000
#### Memory Limit ###
## Maximum amount of ram that Greyhole can consume while running
## this can be higher than the global php.ini memory limit
## if greyhole uses >95% of available memory while loading
## data it will quit and throw an error in the logs
# Default is 128M
# Setting a value here will overwrite this default.
# It is NOT advisable to lower the memory limit.
# memory_limit = 128M