mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-20 20:22:46 +00:00
add an option "rsync_override"
This commit is contained in:
parent
d48815b817
commit
02468e21c0
@ -137,6 +137,7 @@ type mirrorConfig struct {
|
|||||||
Username string `toml:"username"`
|
Username string `toml:"username"`
|
||||||
Password string `toml:"password"`
|
Password string `toml:"password"`
|
||||||
RsyncOptions []string `toml:"rsync_options"`
|
RsyncOptions []string `toml:"rsync_options"`
|
||||||
|
RsyncOverride []string `toml:"rsync_override"`
|
||||||
Stage1Profile string `toml:"stage1_profile"`
|
Stage1Profile string `toml:"stage1_profile"`
|
||||||
|
|
||||||
MemoryLimit string `toml:"memory_limit"`
|
MemoryLimit string `toml:"memory_limit"`
|
||||||
|
@ -127,20 +127,21 @@ func newMirrorProvider(mirror mirrorConfig, cfg *Config) mirrorProvider {
|
|||||||
provider = p
|
provider = p
|
||||||
case provRsync:
|
case provRsync:
|
||||||
rc := rsyncConfig{
|
rc := rsyncConfig{
|
||||||
name: mirror.Name,
|
name: mirror.Name,
|
||||||
upstreamURL: mirror.Upstream,
|
upstreamURL: mirror.Upstream,
|
||||||
rsyncCmd: mirror.Command,
|
rsyncCmd: mirror.Command,
|
||||||
username: mirror.Username,
|
username: mirror.Username,
|
||||||
password: mirror.Password,
|
password: mirror.Password,
|
||||||
excludeFile: mirror.ExcludeFile,
|
excludeFile: mirror.ExcludeFile,
|
||||||
extraOptions: mirror.RsyncOptions,
|
extraOptions: mirror.RsyncOptions,
|
||||||
workingDir: mirrorDir,
|
overriddenOptions: mirror.RsyncOverride,
|
||||||
logDir: logDir,
|
workingDir: mirrorDir,
|
||||||
logFile: filepath.Join(logDir, "latest.log"),
|
logDir: logDir,
|
||||||
useIPv6: mirror.UseIPv6,
|
logFile: filepath.Join(logDir, "latest.log"),
|
||||||
useIPv4: mirror.UseIPv4,
|
useIPv6: mirror.UseIPv6,
|
||||||
interval: time.Duration(mirror.Interval) * time.Minute,
|
useIPv4: mirror.UseIPv4,
|
||||||
retry: mirror.Retry,
|
interval: time.Duration(mirror.Interval) * time.Minute,
|
||||||
|
retry: mirror.Retry,
|
||||||
}
|
}
|
||||||
p, err := newRsyncProvider(rc)
|
p, err := newRsyncProvider(rc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -14,6 +14,7 @@ type rsyncConfig struct {
|
|||||||
rsyncCmd string
|
rsyncCmd string
|
||||||
upstreamURL, username, password, excludeFile string
|
upstreamURL, username, password, excludeFile string
|
||||||
extraOptions []string
|
extraOptions []string
|
||||||
|
overriddenOptions []string
|
||||||
workingDir, logDir, logFile string
|
workingDir, logDir, logFile string
|
||||||
useIPv6, useIPv4 bool
|
useIPv6, useIPv4 bool
|
||||||
interval time.Duration
|
interval time.Duration
|
||||||
@ -56,6 +57,9 @@ func newRsyncProvider(c rsyncConfig) (*rsyncProvider, error) {
|
|||||||
"--delete", "--delete-after", "--delay-updates",
|
"--delete", "--delete-after", "--delay-updates",
|
||||||
"--safe-links", "--timeout=120", "--contimeout=120",
|
"--safe-links", "--timeout=120", "--contimeout=120",
|
||||||
}
|
}
|
||||||
|
if overriddenOptions != nil {
|
||||||
|
options = overriddenOptions
|
||||||
|
}
|
||||||
|
|
||||||
if c.useIPv6 {
|
if c.useIPv6 {
|
||||||
options = append(options, "-6")
|
options = append(options, "-6")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user