Repository navigation
Expand file tree
/
Copy pathusing-robocopy-for-backups.html
More file actions
115 lines (97 loc) · 7.66 KB
/
Copy pathusing-robocopy-for-backups.html
File metadata and controls
115 lines (97 loc) · 7.66 KB
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>Using Robocopy for backups - kb.haeringer.org</title>
<link href="http://fonts.googleapis.com/css?family=Arimo:400,700|Inika" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="/theme/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="/theme/pastie.css" />
<link href="/" type="application/atom+xml" rel="alternate" title="kb.haeringer.org Atom Feed" />
</head>
<body>
<div class="container">
<div class="row">
<div class="span10">
<div id="content">
<div class="header">
<h1>Using Robocopy for backups</h1>
</br>
</div>
<p class="meta"><small><span><a href="/author/ben/">ben</a> - </span><span>So 10 Oktober 2010</span> - <span class="tags"><a href="/tag/Backup/">Backup</a>, <a href="/tag/Windows client/">Windows client</a></span></small></p>
<div class="entry-content">
<p>Since Windows Vista, Robocopy is the 'official' CLI tool within Windows
to make full, reliable incremental backups. It has many options, but for
basic operation, only few of them are needed. For a simple mirror of one
directory or partition, you only need the parameter <code>/MIR</code>:</p>
<div class="highlight"><pre><span class="n">robocopy</span> <span class="n">D</span><span class="o">:</span><span class="n">Data</span> <span class="n">H</span><span class="o">:</span><span class="n">Data_backup</span> <span class="o">/</span><span class="n">MIR</span>
</pre></div>
<p>If a path contains spaces, it has to be written in quotation marks (e.g.
"H:Data Backup").</p>
<!--more-->
<p><strong>Additional parameters</strong></p>
<p>You can use the 'test mode' first by adding <code>/L</code>. Then you can try
different parameters and see how they would work.</p>
<div class="highlight"><pre><span class="n">robocopy</span> <span class="n">D</span><span class="o">:</span><span class="n">Data</span> <span class="n">H</span><span class="o">:</span><span class="n">Data_backup</span> <span class="o">/</span><span class="n">MIR</span> <span class="o">/</span><span class="n">L</span>
</pre></div>
<p>As you can see at the output, Robocopy uses some default options when
issuing the <code>/MIR</code> parameter:</p>
<p>*.* /L /S /E /COPY:DAT /PURGE /MIR /R:1000000 /W:30</p>
<p>R:n is the number of retries when a copy process failed and W:n is the
time between the retries in seconds. You can simply overwrite these
default values, e.g.:</p>
<div class="highlight"><pre><span class="n">robocopy</span> <span class="n">D</span><span class="o">:</span><span class="n">Data</span> <span class="n">H</span><span class="o">:</span><span class="n">Data_backup</span> <span class="o">/</span><span class="n">MIR</span> <span class="o">/</span><span class="n">R</span><span class="o">:</span><span class="mi">5</span> <span class="o">/</span><span class="n">W</span><span class="o">:</span><span class="mi">10</span>
</pre></div>
<p>You can also exclude files or directories. To exclude a directory, use
<code>/XD</code> and to exclude e.g. all *.exe files, use <code>/XF</code>:</p>
<div class="highlight"><pre><span class="n">robocopy</span> <span class="n">D</span><span class="o">:</span><span class="n">Data</span> <span class="n">H</span><span class="o">:</span><span class="n">Data_backup</span> <span class="o">/</span><span class="n">MIR</span> <span class="o">/</span><span class="n">XD</span> <span class="s">"D:Dataneedless files"</span>
<span class="n">robocopy</span> <span class="n">D</span><span class="o">:</span><span class="n">Data</span> <span class="n">H</span><span class="o">:</span><span class="n">Data_backup</span> <span class="o">/</span><span class="n">MIR</span> <span class="o">/</span><span class="n">XF</span> <span class="o">*</span><span class="p">.</span><span class="n">exe</span>
</pre></div>
<p>Of course, Robocopy can also create a log file. This can be done with
<code>/LOG+</code> and the desired path. To keep the log smaller and more clear,
you can prevent all the file names to be logged with <code>/NFL</code>. If errors
occur, the file names will still be shown.</p>
<div class="highlight"><pre><span class="n">robocopy</span> <span class="n">D</span><span class="o">:</span><span class="n">Data</span> <span class="n">H</span><span class="o">:</span><span class="n">Data_backup</span> <span class="o">/</span><span class="n">MIR</span> <span class="o">/</span><span class="n">LOG</span><span class="o">+:</span><span class="n">C</span><span class="o">:</span><span class="n">Logsrobocopy</span><span class="p">.</span><span class="n">log</span> <span class="o">/</span><span class="n">NFL</span>
</pre></div>
<p>When you want to mirror files from Windows (NTFS file system) to a FAT
or ext or another system (as I do when I backup files to my Debian NAS),
you should use the <code>/FFT</code> switch. This forces robocopy to use a specific
time stamp format that prevents copy errors over the different file
systems. </p>
<p><strong>Robocopy in a network</strong></p>
<p>When using robocopy over the network, you can also use the parameter
<code>/Z</code>, which causes Robocopy to continue the copy process of a file if it
got interrupted.</p>
<p>There is also a parameter to save bandwidth: <code>/IPG:n</code> causes Robocopy to
wait for the given time in milliseconds (n) after every packet. </p>
<p><strong>Example: the robocopy backup from my personal Windows data partition
to a Samba fileserver:</strong></p>
<div class="highlight"><pre><span class="n">robocopy</span> <span class="n">E</span><span class="o">:</span> <span class="n">N</span><span class="o">:</span><span class="n">COMPNAME</span> <span class="o">/</span><span class="n">MIR</span> <span class="o">/</span><span class="n">FFT</span> <span class="o">/</span><span class="n">Z</span> <span class="o">/</span><span class="n">R</span><span class="o">:</span><span class="mi">5</span> <span class="o">/</span><span class="n">W</span><span class="o">:</span><span class="mi">10</span> <span class="o">/</span><span class="n">XD</span> <span class="s">"E:System Volume Information"</span> <span class="n">E</span><span class="o">:</span><span class="err">$</span><span class="n">RECYCLE</span><span class="p">.</span><span class="n">BIN</span> <span class="o">/</span><span class="n">LOG</span><span class="o">+:</span><span class="n">N</span><span class="o">:</span><span class="n">logsbackup</span><span class="o">-</span><span class="n">COMPNAME</span><span class="p">.</span><span class="n">log</span> <span class="o">/</span><span class="n">TEE</span>
</pre></div>
</div><!-- /.entry-content -->
</div>
</div>
<div class="span2">
<div class="well">
<ul class="nav nav-list">
<li class="nav-header">Blog</li>
<!-- <li ><a href="">Home</a></li> -->
<li ><a href="index.html">Home</a></li>
<li ><a href="/tags/">Tags</a></li>
<li ><a href="/archives/">Archive</a></li>
<li class="nav-header">Pages</li>
<li><a href="/pages/about.html">About</a></li>
</ul>
</div><!-- /#menu -->
</div>
</div>
<hr />
<div class="row">
<div class="span12">
<div id="about">
<p>Proudly powered by <a href="http://twitter.github.com/bootstrap/">bootstrap</a>, <a href="http://docs.notmyidea.org/alexis/pelican/">pelican</a>, <a href="http://python.org">python</a> and <a href="http://www.julo.ch/about/">Alex</a></p>
</div><!-- /#about -->
</div><!-- /#contentinfo -->
</div>
</div>
</body>
</html>