总览 SYNOPSIS

mirror [flags] -gsite:pathname mirror [flags] [package-files]

描述 DESCRIPTION

Mirror 是以 Perl 所写成的一套在执行它的机器与一台远端主机之间使用 ftp 协定复制整个目录架构及其内容的软体。它藉由在传输之前比较档案时间(time-stamps) 以及大小来避免拷贝不必要的档案。除此之外,它还可以选择性地压缩(compress, gzip)以及分割(split)档案。

它是写给档案维护人员使用的但也可以让任何想要经由 ftp 传输大量档案的人使用。

无论如何叫用它, mirror 总是执行相同的几个基本步骤。它连线到远端节点,在内部建立本地目标目录(target direction)的目录列表,为远端目录建立一份目录列表,比较它们,建立任何必须的子目录,传输适当的档案(设定它们的档案时间以符合远端节点上的档案时间),建立任何符号链结,然後移除任何已不必要的物件 (objects) 最後并结束连线。

Mirror 可以处理符号链结但并非原本的链结。它不会复制拥有者 (owner)或是群组(group)的资讯。如果你需要这些选项其中的任何一个,使用 rdist(1) 来取代它。

Mirror 系以上面所列语法概述其中的一种方法呼叫执行。

第一种方式是用来将一个远端目录撷取回现行目录。如果你要映射的是一个目录,最好是以斜线('/') 来结束路径名称这样一来远端递回列表(包含往下子目录的列表)会比较小或者是使用 -r 旗标来禁止递回(参阅下面所述的 -g 旗标)。这个方式将不会使用到 mirror.defaults 档案。

在上面所列语法概述的第二种方式里,至少需要有一份最少数目的参数而且 mirror 是由从配置档案(或标准输入)里读取的设定所控制。如果可以在 mirror 执行档所在目录或是 PERLLIB 路径里找到一个名为 mirror.defaults 档案,那麽它会首先被载入。这用来为所有的配置档提供一般化的预设值。

Mirror 本来是为映射远端 Un*x 系统的档案而写,但是它已逐渐成长(like topsy)。

标记 FLAGS

-d
启动侦错。如果下达这个参数超过一次,则侦错层级将会递增。目前有用的最大层级是四。
-ppackage
只映射所给定的档案包裹(package)。 此选项可下达多次在这种情形下所有给定的档案包裹都将会映射。没有这个选项的话,将映射所有的档案包裹。档案包裹 (package) 是一个符合相对於 package 变数的正规表示式(regexp)
-R
类似 -p 但是跳过所有的档案包裹直到它找到给定的档案包裹为止。这对於从 mirror 执行失败而离开的地方重新开始执行会有用。
-n
除了比较本地以及远端的目录之外不做任何事,不会执行任何档案传输。将侦错层级设为二,所以你可以看到对於将要执行之动作的追踪。
-F
使用暂存的 dbm 档案以储放关於档案的资讯。如果你要映射一个非常大的目录这会有用。参阅 use_files 这个变数。
-g
节点:路径

取得给定节点上的所有档案。如果路径符合 .*/.+ 那麽它是目录的名称而後面的部份则是所要取得之档案名称的样板(pattern)。 如果路径符合 .*/ 则它是目录的名称而且其所有的内容都将会被撷取。另一方面路径还是用在 一份远端主机上之 / 的完整目录列表。如果所有你想要的是目录 /fred 的内容,则指定 host:/fred/ 才是。

-r
等於 -krecursive=false
-v
印出 mirror 版本资讯细节并结束。
-T
强制将任何本地档案的时间重置成与远端档案相同。一般仅用於以已存在档案内容之处初始一个映射区域的时候。
-U [档案名称]
把所有上传的档案记录到所给的档案名称。记得 mirror 切换到 local_dir 以执行其作业,所以它应该得是完整 (full)的路径名称。如果没有给任何参数,其预设值为 `pwd`/upload_log.day.month.year.
-kkey=value
盖过任何预设关键字的值(key/value) 。
-m
等於 -kmode_copy=true
-t
等於 -ktext_mode=true
-f
等於 -kforce=true
-ssite
等於 -ksite=site
-uuser
等於 -kremote_user=user 接著会提示你要求密码,并且还会关闭本地回应(echo)以兹配合。这个密码是用来设定 remote_password 用的。
-L
只是产生一份输入的美观列表版本。
-G
从远端机器取得档案。本地以及远端目录必须在命令列上给定。(这个选项已经不再支援。)
-P
把档案放上远端机器。本地以及远端目录必须在命令列上给定。(这个选项已经不再支援。)
-C filename
指定配置文件。配合 -P 以及 -G 选项之配置文件之需。(这个选项已经不再支援。)

文件 Package Files

配置档会被剖析成一系列的叙述。空白行及以杂凑(hash)符号起始的行会被忽略。每个叙述的形式都是 关键字=值 或是 关键字+值

你可以在关键字以及等号/加号的前面加上空白字元。所有紧跟在等号/加号之後的每样事物都是一个值,这包含任何开头或结尾的空白字元。等号的版本会将关键字设定为该值,而加号的版本会将该值连结到预设值的结尾上。

一个叙述可以在除最後一行以外使用 ampersand('&') 字元作结束以连续超过多行。尾随在 ampersand 之後的行,都会以移除所有开头空白字元的方式附加到目前所在行的後面。

这里是一份关键字的列表而且它们预设的值放在 square brackets 里面列出。以星号标出的选项目前还没有实作出来。

虽然有很多关键字可以设定,内建的预设值将可处理大部分的情况。一般只需要设定 package, site, remote_dir 以及 local_dir 即可。

package

对所要映射的档案包裹而言应该得要是个唯一的名称。['']comment用在报告里。['']skip设定这个项目会使得该档案包裹被跳过。此值会被报告为跳过的原因。(这比 commenting the entry out 来得容易。)['']site远端节点的节点名称或是 IP 位址。['']remote_dir所要映射的远端目录。参阅 recursed_hard。 ['']local_dir本地目录。['']remote_user用在远端节点的使用者名称。[anonymous]remote_password用在远端节点的密码。[user@localhostname]get_patt所要撷取之远端路径名称的正规表示式。[.]exclude_patt所要忽略之远端目录名称的正规表示式。['']update_local把 get_patt 设为 local_dir/*。这在如果你只想要映射远端档案服务处中所选定的子目录时会有用。[false]local_ignore所要忽略之本地路径名称的正规表示式。对用来跳过受限(restricted)的本地目录有用。['']do_deletes如果目的(destination) 档案不存在於来源树中 (source tree)中则删除之。[false]delete_patt检查所要删除之本地路径名称的正规表示式。不符合的名称不会被检查。所有以此样板所选出的档案都会被检查是否符合 delete_excl 选项。 [.]delete_get_patt把 delete_patt 设为 get_patt。[false]delete_excl永不删除之本地路径名称的正规表示式。['']save_deletes把本地档案储存到 save_dir 里取代将其删除。 [false]save_dir当本地档案不存在於远端节点的时候会被转移到此处。[Old]max_delete_files如果有超过此数的档案会被删除,则不进行删除动作,只发出警告。若此值系以百分比字元作为结束的话则此值为取消删除前之档案的百分比。 [10%]max_delete_dirs如果有超过此数的目录会被删除,则不进行删除动作,只发出警告。若此值系以百分比字元作为结束的话则此值为取消删除前之档案的百分比。 [10%]max_days如果 >0 的话,忽略比此日数更久以前的档案。任何被忽略的档案将不会被传输或删除。[0]split_max如果 >0 而且档案的大小比此值大,该档案会被切割以便本地储存(档案名称同时也必须要符合 split_patt 选项)。[0]spilt_patt要储存在本地前需先分割之远端路径名称的正规表示式。['']split_chunk档案所要切割成的大小。[102400]ls_lR_file包含 ls-lR 的远端档案,否则执行远端 ls 以取得目录列表。['']local_ls_lR_file包含 ls-lR 的本地档案,否则使用远端节点的 ls_lR_file 取代。这在第一次映射一个很大的档案包裹时有用。['']recursive执行范围包括子目录。[true]recuese_hard必须对每一个子目录执行 cwd 以及 ls 以产生远端 ls 结果。在这种情形下 remote_dir 必须是绝对的(从 / 开始)而非相对的。使用 ftp 里的 pwd 指令以找出远端档案区域之路径开始处。(如果 remote_fs 是 vms 则不可使用。) [false]flags_recursive传送给远端 ls 用以执行递回列出的旗标。 ['-lRat']flags_nonrecursive传送给远端 ls 用以执行非递回列出的旗标。 ['-lat']remote_fs远端档案储存型态。处理 unix, dls, netware vms, dosftp, macos, lsparse 以及 infomac。细节参阅下面 FILESTORES 段落。[unix]vms_keep_version映射 vms 档案时,保留版本编号。若为 false ,会抽离版本而只保留基本的档案名称。[true]vms_xfer_text要以文字模式(TEXT mode) 传输之 vms 档案的样板(忽略大小写)。 ['readme$|info$|listing$|.c$']name_mappings远端到本地的路径名称对映(一个 perl s 指令 eg. s:old:new:)。['']external_mapping执行名称对映的外部函式。['']get_newer如果远端档案的日期比本地的新则取回。[true]get_size_change如果档案的大小与本地的不同则取回。如果档案是在撷取时压缩的,则其大小会自动地忽略掉。 [true]compress_patt储存在本地之前要先压缩之档案的正规表示式。参阅 get_size_change 选项。['']compress_excl不压缩之档案的正规表示式(忽略大小写)。 [.(z|gz)$]compress_prog用来压缩档案的程式。如果设为 compress 或是 gzip 这两个字的话,则将会自动地设定完整的路径名称以及正确的 compress_suffix(副档名) 。使用 gzip 的时候,会使用第九级 (gzip -9) 压缩。注意到可以在 compress_prog 之後设定 compress_suffix 将其重设为非标准值。 [compress]compress_suffix压缩程式附加到档案後的字元。若压缩程式选项 compress_prog 为 compress 的话,则此预设值为 .Z 。若 compress_prog 为 gzip 的话,则此预设值为 .gz。['']compress_conv_patt如果 compress_prog 是 gzip 的话,符合这个样板的档案会被解压缩并在本地储存前以 gzip 重新压缩。压缩转换只对 compress 到 gzip 此转换有意义。[(.Z|.taz)$]compress_conv_expr把副档名从 compress 转为 gzip 形式的 perl 表示式。[s/.Z$/.gz/;s/.taz$/.tgz/]compress_size_floor只压缩比此数值小的档案。[0]force_times强制要求本地时间符合远端时间。[yes]retry_call如果初始连线失败,一分钟之後重试一次。这是用来处理一些反向找寻(lookup)进入(incoming) 主机但有时会在第一次尝试时超过时间的节点。 [yes]update_log档案名称,系相对於 local_dir 选项之设定值,此处会保留一份更新报告。['']mail_to将一份系统执行工作记录寄给这个以逗点隔开之列表上的人。['']user给予本地路径名称之使用者名称或使用者号码。 ['']group给予本地路径名称之群组名称或群组号码。['']file_mode给予本地建立之档案的权限。[0444]dir_mode给予本地建立之目录的权限。[0755]timeout在此秒数後结束 ftp 要求。[40]ftp_port远端 ftp 伺服程式的埠号。[21]proxy设为 1 以使用代理转接(proxy)式的 ftp 服务。[0]proxy_ftp_port代理服务之 ftp 伺服程式的埠号。[4514]proxy_gateway代理服务之名称,也可用 INTERNET_HOST 变数来提供。[internet-gateway]mode_copy指出是否需要拷贝模式位元(mode bits) 的旗标。[false]interactive非批次(non-batch) 传输。系以 -g 旗标实作。 [false]text_mode如果为 true 的话,档案以文字模式传输。Un*x 较喜欢以二进位传输所以这是预设值。[false]force如果为 true 的话,所有档案都将被传输而不去理会档案的大小或时间。[false]get_file以执行 get 而非 put 作为预设。[true]verbose冗馀讯息。[false]delete_source一旦传输完成後删除来源档案。(此选项已不再支援。)[false]disconnect档案包裹结束後从远端节点结束连线。[false]mail_prog呼叫执行以将信件寄送给 mail_to 列表的程式。可以传递 mail_subject 参数。预设为 mailx Mail, mail 或任何在你的系统上可用的东西。 ['']mail_subjectmirror update ['-s]hostname Mirror自动地跳过节点名称符合此主机的档案包裹。预设为本地主机名称。['']use_files将 mirroe 所使用的 associative arrays 放到暂存档里。[false]umask预设不允许任何 setuid 的东西通过。[07000]remote_group如果存在则设定远端 'site group' 。['']remote_gpass如果存在则设定远端 'site gpass' 。['']remote_idle如果非空(not null),则尝试并将远端闲置计时 (idle timer)设为此值。['']make_bad_symlinks如果为 true 的话,将会把符号链结连到不允许(不存在)的路径名称。旧版预设值为 true 。 [false]follow_local_symlinks应该要跟从档案或是目录所指向处之路径名称的正规表示式。这使得 mirror 不能够见到本地的符号链结。['']get_missing确实取回档案。当设为 false 的时候,只执行删除以及建立符号链结。用来删除比 max_days 更旧的过时档案而不必撷取这些旧档案。[true]

每一组关键字定义如何映射一份特定的档案包裹而且应该要以一行唯一的 package 开始。档案包裹的名称用在产生报告及 -p 参数上,所以应使用较具记忆性的名称。定义每个档案包裹所需的最小需求是 package, site, remote_dir 以及 local_dir 。一旦找到一行 package 叙述,所有的预设值都会重设。

如果 package 的名称是 defaults 的话,则不会连线到任何节点去,但是所给任何关键字的预设值都会改变。一般而言所有的预设值都在 mirror.defaults 这个将会在任何 package 细节前自动载入的档案里。

# Sample mirror.defaults package=defaults # The LOCAL hostname - if not the same as `hostname` returns # (I advertise the name src.doc.ic.ac.uk but the machine is # really puffin.doc.ic.ac.uk.) hostname=src.doc.ic.ac.uk # Keep all local_dirs relative to here local_dir=/public/ remote_password=ukuug-soft@doc.ic.ac.uk

如果档案包裹不是 defaults 的话,则 mirror 将会执行下列步骤。除非侦测出一个内部错误,任何错误都将会使得目前的档案包裹被跳过并且尝试下一个。

如果 mirror 并非已经连上该节点,它将会从任何已经连上的节点离线并尝试连线到远端节点的 ftp 伺服程式去。它接著将会使用所给的远端使用者名称及密码签入。一旦连上, mirror 开启二进位传输模式。接下来它切换到所给的本地目录并扫描之以取得已经存在的本地档案的细节。如果必要,将会建立本地目录。一旦这项作业完成,会以类似的方式扫描远端目录。 Mirror 系切换到远端目录并执行 ftp LIST 指令,然後依据 recursive 选项的值传递 flags_recursive 选项或 flags_nonrecursive 选项来完成。此外也可以撷取一个包含有目录列表的档案。每一个远端路径名称都将会执行任何指定的对映(mapping) 以建立本地路径名称。然後任何由 exclude_patt, max_days, get_newer 以及 get_size_change 关键字指定的检验都会施行在档案或符号链结上。只有 exclude- patt 检验会施行在子目录上。

上述过程建立一份所有需要的远端档案以及要储存它们之本地路径名称的列表。

一旦目录列表完成,所有需要的档案都会从远端节点撷取到它们的本地路径名称。作法是把档案撷取到目标目录里的暂存档。如果有需要,暂存档会被压缩(compressed, gzip'ed) 或是切割(或者是压缩後再切割)。当传输成功後再把暂存档改名。

档案储放 FILESTORES

Mirror 使用远端目录列表以找出可以取得哪些档案。 Mirror 本来的目标是连线到 unix 的 ftp 伺服程式使用标准的 ls 指令。要使用於非标准 ls 的 unix 主机或非 unix 的主机上它必须要设 remote_fs 变数以符合将会传回(return)的目录列表类型。此变数 (remote_fs) 与其它变数特别是 flags_recursive, recurse_hard 以及 get_size_change 之间有些交互作用。下列的节次将会秀些在不同档案服务处执行 ftp 的 dir 指令所产生的结果以及相关变数的建议。在配合某些设定与众不同的档案服务处的时候你可能必须变更此处所建议的变数设定。

remote_fs=unix total 65 -rw-r--r-- 1 ukuug ukuug 2245 Jun 28 20:06 README -rw-r--r-- 1 ukuug ukuug 61949 Jun 29 19:13 mirror-2.1.tar.gz

这是预设值而且你应该不必重设任何其它变数。

remote_fs=dls 00index.txt 189916 0readme 5793 1_x/ = OS/2 1.x-specific files

这是某些 unix 档案服务处所使用的 ls 变化型。它在列表中提供其所知项目的描述。把 flags_recursive 设为 -dtR 即可。

remote_fs=netware - [R----F--] jrd 1646 May 07 21:43 index d [R----F--] jrd 512 Sep 09 10:52 netwire d [R----F--] jrd 512 Sep 02 01:31 pktdrvr d [RWCE-F--] jrd 512 Sep 04 10:55 incoming

这是 Novell 档案服务处所使用的。把 recurse_hard 设为 true 并且把 flags_recursive 设为空(nothing)的。参阅 remote_dir

dosftp 00-index.txt 6,471 13:54 7/20/93 alabama.txt 1,246 23:29 5/08/92 alaska.txt 873 23:29 5/08/92 alberta.txt 2,162 23:29 5/08/92

dosftp 是在 dos 上执行的一套 ftp 伺服程式。recurse_hard 设为 true 并且把 flags_recursive 设为空(nothing)的。

remote_fs=macos -------r-- 0 127 127 Aug 27 13:53 !Gopher Links drwxrwxr-x folder 32 Sep 9 16:30 FAQ drwxrwx-wx folder 0 Sep 9 09:59 incoming

macos 是麦金塔(Macintosh) ftp 伺服程式的一个变化型。虽然此输出类似於 unix 但是 unix 这个 remote_fs 型态无法应付它是因为每个档案有三个大小。把 recurse_hard 设为 true, flags_ recursive 设为空(nothing)的,get_size_change 设为 false 并将 compress_patt 设为空(最後这个设定是因为此不平常的档案名称会扰乱执行压缩的 shell 界面)。参阅 remote_dir 设定。

remote_fs=vms USERS:[ANONYMOUS.PUBLIC]

1-README.FIRST;13 9 14-JUN-1993 13:09 [ANONYMOUS] (RWE,RWE,RE,RE) PALTER.DIR;1 1 18-JAN-1993 11:56 [ANONYMOUS] (RWE,RWE,RE,RE) PRESS-RELEASES.DIR;1 1 11-AUG-1992 20:05 [ANONYMOUS] (RWE,RWE,,)

alternatively:

[VMSSERV.FILES]ALARM.DIR;1 1/3 5-MAR-1993 18:09 [VMSSERV.FILES]ALARM.TXT;1 1/3 4-FEB-1993 12:20

把 flags_recursive 设为 '[...]' 并将 get_size_change 设为 false。recurse_hard 在 vms 上不能使用。除此之外还可以参阅 vms_keep_version 以及 vms_xfer_text 变数。

remote_fs=infomac

这个特殊型态仅在处理 sumexaim.stanford.edu info-mac 目录之 help/all-files 有意义。recurse_hard 应该设为 true。remote_fs=lsparse允许开启高阶除错方式重新剖析由 mirror 产生的列表。这只对於 mirror wizards 有用。

范例 EXAMPLES

这里是从 src.doc.ic.ac.uk 上来的 mirror.defaults 档案:

# This is the default mirror settings used by my site: # src.doc.ic.ac.uk (146.169.2.1) # This is home of the UKUUG Software Distribution Service

package=defaults # The LOCAL hostname - if not the same as `hostname` # (I advertise the name src.doc.ic.ac.uk but the machine is # really puffin.doc.ic.ac.uk) hostname=src.doc.ic.ac.uk # Keep all local_dirs relative to here local_dir=/public/ remote_password=ukuug-soft@doc.ic.ac.uk mail_to= # Don't mirror file modes. Set all dirs/files to these dir_mode=0755 file_mode=0444 # By default, files are owned by root.zero user=0 group=0 # # Keep a log file in each updated directory # update_log=.mirror update_log= # Don't overwrite my mirror log with the remote one. # Don't retrieve any of their mirror temporary files. # Don't touch anything whose name begins with a space! # nor any FSP or gopher files... exclude_patt=(^|/)(.mirror$|.in..*.$|MIRROR.LOG|#.*#|.FSP|.c ache|.zipped|lost+found/| ) # Try to compress everything compress_patt=. compress_prog=compress # Don't compress information files, files that don't benefit from # being compressed, files that tell ftpd, gopher, wais... to do things, # the sources for compression programs... # (Note this is the only regexp that is case insensitive.) compress_excl+|^.notar$|-z|.taz$|.tar.Z|.arc$|.zip$|.lzh$|.z oo$|.exe$|.lha$|.zom$|.gif$|.jpeg$|.jpg$|.mpeg$|.au$|read.*me|index|.message|in fo|faq|gzip|compress # Don't delete own mirror log or any .notar files (incl in s ubdirs) delete_excl=(^|/).(mirror|notar)$ # Ignore any local readme files local_ignore=README.doc.ic # Automatically delete local copies of files that the # remote site has zapped do_deletes=true Here are some sample package descriptions: package=gnu comment=Powerful and free Un*x utilities site=prep.ai.mit.edu remote_dir=/pub/gnu # Local_dir+ causes gnu to be appended to the default local_ dir # so making /public/gnu local_dir+gnu exclude_patt+|^ListArchives/|^lost+found/|^scheme-7.0/|^.his tory # I tend to only keep the latest couple of versions of thing s # this stops mirror from retrieving the older versions I've removed max_days=30 do_deletes=false

package=X11R5 comment=X Windows (windowing graphics system for Un*x) site=export.lcs.mit.edu remote_dir=/pub/R5 local_dir+computing/graphics/systems/X11/pub/R5 # This is a local symlink to the free-for-all contrib area # and is mirrored elsewhere local_ignore=^contrib$ # Don't compress a thing. It is already compressed # but doesn't look it. compress_patt=

package=cnews comment=The C News system site=ftp.cs.toronto.edu remote_dir=/pub/c-news local_dir+computing/usenet/software/transport/c compress_excl+|patches/PATCHDATES|WhereFrom

# THIS IS JUST A TEST package=test vms site site=vmsbox.somewhere.ac.uk local_dir=/tmp/copy4 remote_dir=vmsserv/files remote_fs=vms # Must do these settings for VMS flags_recursive=[...] get_size_change=false

# and on, and on ...

提示

要增加一个新的档案包裹,首先打开 -n 选项检查它。

如果你要增加到一个已经存在档案的地方,那麽通常最好是 force 本地已经存在的档案时间符合远端的这样将会执行与远端档案之间的时间比较。

尝试并将所有从相同节点撷取的档案包裹放在一起。使用这种方式的话 mirror 将仅需签入一次。

记得所有的正规表示式都是 Perl 正规表示式。

如果远端节点包含你想展开("flatten out") 到相对应档案的符号链结,那麽以改变传送给远端 ls 旗标的方式执行之。 flags_recursive+L 或是 flags_nonrecursive+L 首先以在远端节点的 ftp 指令下尝试 ls -lRatL 的方式来测试远端档案服务处是否有任何符号链结回圈。

如果你正要映射一个非常大而不常改变的节点,等它初次映射後在设定中加上 max_days=7 选项。以此方式 mirror 在更新的时候仅需要注意最近的档案。然後每个礼拜一次,或者是有必要的时候,以 -kmax_days=-0 呼叫 mirror 强制执行一次完整的更新。

如果你不想压缩从远端节点取得的任何东西则最简单的方法就是将 compress_patt 设为空(nothing) 的。

如果你想在映射一份档案包裹後执行某个指令那麽有个有用的技巧是将 mail_prog 变数重设为程式的名称并将 mail_to 重设为其参数。

对於 netware, dosftp, macos 以及 vms 而言一般你应该得要把 remote_dir 设为远端 ftp 伺服程式的 home 目录。手动连线并在切换到子目录之前使用 pwd 指令找出 home 在哪里。如果你仅想要映射整个档案树的一部份那麽应该在开头处给定包含此 home 目录的完整路径名称。

macos 的名称有时候会包含一些很难让它们通过 un*x shells 的字元。因为档案压缩是经由 shell 执行最好设 compress_patt= 以便关闭压缩。

macos 档案在传输时似乎无论如何其大小都会改变,不管是以二进位或是文字模式。所以最好是设 get_size_change=false 较佳。

网路观念(NETIQUETTE)

如果你要映射一个远端节点,请遵守该节点管理者对於存取开节点所设的限制。你通常可以使用标准的 ftp 指令连到该档案服务处。任何限制一般会作为签入时的标题或是放在一个(希望是)明显的档案里。

这里是,我希望是,一些好的一般原则:

只在本地以及远端节点的工作时间以外映射节点。

尝试每天映射一个远端节点超过一次可能是不友善的。

在映射一个远端节点之前,尝试先从当地的档案服务处寻找该档案包裹,因为没有人会高兴你没有必要地占用许多网路频宽。

如果你有一个当地的档案服务处,那麽请告诉别人它的存在让他们不必量费频宽以及 CPU 在远端节点上。

要记得在远端节点改变其存取限制时检查你的配置档。

定期检查远端节点是否有新的限制。

mirror - 映射在远端节点上的档案的更多相关文章

  1. NodePort 只能在node节点上访问,外部无法访问

    创建了一个NodePort类型的jenkins service,node port 30000,node节点ip为192.168.56.101, 在node节点上通过浏览器能正常访问http://19 ...

  2. [IBM][CLI Driver][DB2/NT] SQL1101N 不能以指定的授权标识和密码访问节点 "" 上的远程数据库 "LBZM"。 SQLSTATE=08004

    [IBM][CLI Driver][DB2/NT] SQL1101N  不能以指定的授权标识和密码访问节点 "" 上的远程数据库  "LBZM".  SQLST ...

  3. TaskTracker节点上的内存管理器

    Hadoop平台的最大优势就是充分地利用了廉价的PC机,这也就使得集群中的工作节点存在一个重要的问题——节点所在的PC机内存资源有限(这里所说的工作节点指的是TaskTracker节点),执行任务时常 ...

  4. ceph-deploy install时,远端节点在执行apt-get update命令时失败

    环境 OS:Ubuntu 16.04 背景 使用ceph-deploy部署Ceph集群,调用ceph-deploy install命令在远端节点安装ceph环境,执行apt-get update命令时 ...

  5. 跟我一起读postgresql源码(十一)——Executor(查询执行模块之——Materialization节点(上))

    物化节点 顾名思义,物化节点是一类可缓存元组的节点.在执行过程中,很多扩展的物理操作符需要首先获取所有的元组后才能进行操作(例如聚集函数操作.没有索引辅助的排序等),这时要用物化节点将元组缓存起来.下 ...

  6. DevExpress TreeList 禁止节点拖动到其他节点上

    背景 在做一个类似文件树的控件,支持节点从树上向其它的控件拖动程序,但是要保证树上的节点不能拖动上其他的节点上. 代码 /// <summary> /// 拖动节点完成 /// </ ...

  7. kubernetes调度pod运行于master节点上

    应用背景: 使用kubeadm部署的kubernetes集群,其master节点默认拒绝将pod调度运行于其上的,加点官方的术语就是:master默认被赋予了一个或者多个“污点(taints)”,“污 ...

  8. Spark 灰度发布在十万级节点上的成功实践 CI CD

    原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/spark/ci_cd/ 本文所述内容基于某顶级互联网公司数万节点下 Sp ...

  9. OpenStack搭建Q版在控制节点上的环境准备(step2)

    接下来是只需要在控制节点上准备的环境配置.其中虽然NTP服务需要在所有节点上都安装,但NTP服务在控制节点和其他的节点上的配置是不同的,所以不把它放在step1的公共配置中进行准备.如下: 1.配置N ...

随机推荐

  1. 5.并发编程-synchronized 细节说明

    并发编程-synchronized 细节说明 1. synchronized-锁重入 & 异常释放锁 说明 * 关键字synchronized 拥有锁重入的功能,也就是在使用synchroni ...

  2. css中如何使用border属性与display属性

    border属性介绍 border属性设置元素边框. 边框3个要素如:粗细.线型.颜色. 边框线型属性值说明表如: 属性指 描述 none 定义无边框. hidden 与 "none&quo ...

  3. 14 补充 MySQL的创建用户和授权

    权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作.那么一般情况在公司之后DBA工程师会创建一个 ...

  4. socket基本概念

    1.socket 是什么? 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其 ...

  5. Oracle Mysql MSSql 三种数据库 随机查询 条 语句

    1. Oracle,随机查询查询语句-20条 select * from (  select  *  from 表名 order by dbms_random.value ) where rownum ...

  6. leetcode-mid-backtracking -22. Generate Parentheses-NO

    mycode    没有思路,大早上就有些萎靡,其实和上一个电话号码的题如出一辙啦 参考: class Solution(object): def generateParenthesis(self, ...

  7. oracle 迁移数据文件

    步骤: 1.SQL>SELECT FILE_NAME FROM DBA_DATA_FILES; FILE_NAME --------------------------------------- ...

  8. 那些堪称神器的 Chrome 插件

    Chrome 的简洁快速以及丰富的插件种类使得它在国内日益盛行,帮助了我们很多 Chrome 用户提升了工作效率,而今天要给大家推荐8款实用甚至堪称神器的 Chrome 插件,希望对提升大家的工作效率 ...

  9. Scala的集合框架

    1.元组 定义方式:val tp=("nana',1,1.1) 特点:集合中的数据可以是不同类型的 最多只能放22个元素 取值:通过角标取值,这里的角标是从1开始的,元组名称._角标   t ...

  10. 求一个集合S中m个元素的所有排列以及一个数组A的全排列—递归实现版完整代码

    说明,本文全文代码均用dart语言实现. 求一个集合S中m个元素的所有排列情况,并打印,非常适合用递归的思路实现.本文给出了两种实现方法,一种是给定的填充排列数组长度是固定的,一种是可变长度的.两种方 ...