<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Utility Archives - scmGalaxy</title>
	<atom:link href="https://www.scmgalaxy.com/tutorials/tag/utility/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.scmgalaxy.com/tutorials/tag/utility/</link>
	<description>A Platform for Software Engineers</description>
	<lastBuildDate>Sat, 27 Feb 2021 09:55:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>The jstack Utility &#124; jstack Tutorial &#124; scmGalaxy</title>
		<link>https://www.scmgalaxy.com/tutorials/the-jstack-utility/</link>
					<comments>https://www.scmgalaxy.com/tutorials/the-jstack-utility/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 25 Jan 2016 14:15:16 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Install Jstack]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jstack]]></category>
		<category><![CDATA[jstack options]]></category>
		<category><![CDATA[jstack tool]]></category>
		<category><![CDATA[jstack tutorial]]></category>
		<category><![CDATA[jstack Utility]]></category>
		<category><![CDATA[Thread Dump]]></category>
		<category><![CDATA[Troubleshoot with jstack Utility]]></category>
		<category><![CDATA[Utility]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2016/01/25/the-jstack-utility/</guid>

					<description><![CDATA[<p>The release of JDK 8 introduced Java Mission Control, Java Flight Recorder, and jcmd utility for diagnosing problems with JVM and Java [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/the-jstack-utility/">The jstack Utility | jstack Tutorial | scmGalaxy</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="aligncenter wp-image-3159 size-full" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2016/01/the-jstack-utility.png" alt="jstack-utility" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2016/01/the-jstack-utility.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2016/01/the-jstack-utility-300x200.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">The release of JDK 8 introduced Java Mission Control, Java Flight Recorder, and <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jcmd</code> utility for diagnosing problems with JVM and Java applications. It is suggested to use the latest utility, <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jcmd</code> instead of the previous <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> utility for enhanced diagnostics and reduced performance overhead.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">The following sections describe troubleshooting techniques with <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> utility.</p>
<p><a id="BABFCHDE" name="BABFCHDE"></a></p>
<ul style="margin-left: 13px; padding-left: 0px; line-height: 1.9; font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px;">
<li style="margin-left: 13px; padding-left: 0px; list-style-image: url('https://docs.oracle.com/javase/webdesign/pubs8/im/ul_bullet.gif');"><a id="BABFCHDE" name="BABFCHDE"></a>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a id="BABFCHDE" name="BABFCHDE"></a><a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABEHDDH">Troubleshoot with jstack Utility</a></p>
</li>
<li style="margin-left: 13px; padding-left: 0px; list-style-image: url('https://docs.oracle.com/javase/webdesign/pubs8/im/ul_bullet.gif');">
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABFDFDH">Force a Stack Dump</a></p>
</li>
<li style="margin-left: 13px; padding-left: 0px; list-style-image: url('https://docs.oracle.com/javase/webdesign/pubs8/im/ul_bullet.gif');">
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABBAIJC">Stack Trace from a Core Dump</a></p>
</li>
<li style="margin-left: 13px; padding-left: 0px; list-style-image: url('https://docs.oracle.com/javase/webdesign/pubs8/im/ul_bullet.gif');">
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABJBDFC">Mixed Stack</a></p>
</li>
</ul>
<p><a id="BABEHDDH" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;" name="BABEHDDH"></a></p>
<div id="JSTGD213" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;">
<h2 style="margin: 3px 0px 0px; padding: 0px; font-size: 1.3em; line-height: 2.5em;">2.16.1 Troubleshoot with jstack Utility</h2>
<p style="margin-left: 0px; margin-top: 2px; margin-bottom: 17px;">The <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> command-line utility attaches to the specified process or core file and prints the stack traces of all threads that are attached to the virtual machine, including Java threads and VM internal threads, and optionally native stack frames. The utility also performs deadlock detection.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">The utility can also use the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jsadebugd</code> daemon to query a process or core file on a remote machine. <i>Note:</i> The output takes longer to print in this case.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">A stack trace of all threads can be useful in diagnosing a number of issues, such as deadlocks or hangs.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">The <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">-l</code> option, which instructs the utility to look for ownable synchronizers in the heap and print information about <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">java.util.concurrent.locks</code>. Without this option, the thread dump includes information only on monitors.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a id="BABEHDDH" name="BABEHDDH"></a>The output from the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> pid option is the same as that obtained by pressing Ctrl+\ at the application console (standard input) or by sending the process a QUIT signal. See <a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr019.html#BABCDJFE">Control+Break Handler</a> for an output example.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">Thread dumps can also be obtained programmatically using the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">Thread.getAllStackTraces</code> method, or in the debugger using the debugger option to print all thread stacks (the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">where</code> command in the case of the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jdb</code> sample debugger).</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">For more details on the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> utility, see the <a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstack.html"><code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #09569d;">jstack</code> command man page</a>.</p>
</div>
<p><a id="BABFDFDH" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;" name="BABFDFDH"></a></p>
<div id="JSTGD214" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;">
<h2 style="margin: 3px 0px 0px; padding: 0px; font-size: 1.3em; line-height: 2.5em;">2.16.2 Force a Stack Dump</h2>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a id="BABFDFDH" name="BABFDFDH"></a>If the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> pid command does not respond because of a hung process, then the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">-F</code> option can be used (on Oracle Solaris and Linux operating systems only) to force a stack dump, as shown in <a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABBBDIG">Example 2-29</a>.</p>
<div id="JSTGD215">
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">Example 2-29 Force a Stack Dump with jstack Utility</p>
<pre dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444; margin-left: 40px;" xml:space="preserve">$ <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace;">jstack -F 8321</code> Attaching to process ID 8321, please wait... Debugger attached successfully. Client compiler detected. JVM version is 1.6.0-rc-b100 Deadlock Detection: Found one Java-level deadlock: ============================= "Thread2": waiting to lock Monitor@0x000af398 (Object@0xf819aa10, a java/lang/String), which is held by "Thread1" "Thread1": waiting to lock Monitor@0x000af400 (Object@0xf819aa48, a java/lang/String), which is held by "Thread2" Found a total of 1 deadlock. Thread t@2: (state = BLOCKED) Thread t@11: (state = BLOCKED) - Deadlock$DeadlockMakerThread.run() @bci=108, line=32 (Interpreted frame) Thread t@10: (state = BLOCKED) - Deadlock$DeadlockMakerThread.run() @bci=108, line=32 (Interpreted frame) Thread t@6: (state = BLOCKED) Thread t@5: (state = BLOCKED) - java.lang.Object.wait(long) @bci=-1107318896 (Interpreted frame) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116 (Interpreted frame) - java.lang.ref.ReferenceQueue.remove() @bci=2, line=132 (Interpreted frame) - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=159 (Interpreted frame) Thread t@4: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 (Interpreted frame)</pre>
</div>
<p><a id="BABBBDIG" name="BABBBDIG"></a></p>
</div>
<p><a id="BABBBDIG" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;" name="BABBBDIG"></a><a id="BABBAIJC" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;" name="BABBAIJC"></a></p>
<div id="JSTGD216" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;">
<h2 style="margin: 3px 0px 0px; padding: 0px; font-size: 1.3em; line-height: 2.5em;">2.16.3 Stack Trace from a Core Dump</h2>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a id="BABBAIJC" name="BABBAIJC"></a>To obtain stack traces from a core dump, execute the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> command on a core file, as shown in <a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABGHEJB">Example 2-30</a>.</p>
<div id="JSTGD217">
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">Example 2-30 Stack Trace from a Core Dump</p>
<pre dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444; margin-left: 40px;" xml:space="preserve">$ jstack $JAVA_HOME/bin/java core</pre>
</div>
<p><a id="BABGHEJB" name="BABGHEJB"></a></p>
</div>
<p><a id="BABGHEJB" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;" name="BABGHEJB"></a><a id="BABJBDFC" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;" name="BABJBDFC"></a></p>
<div id="JSTGD218" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 12px; line-height: 18px;">
<h2 style="margin: 3px 0px 0px; padding: 0px; font-size: 1.3em; line-height: 2.5em;">2.16.4 Mixed Stack</h2>
<p style="margin-left: 0px; margin-top: 2px; margin-bottom: 17px;">The <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> utility can also be used to print a mixed stack; that is, it can print native stack frames in addition to the Java stack. Native frames are the C/C++ frames associated with VM code and JNI/native code.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;"><a id="BABJBDFC" name="BABJBDFC"></a>To print a mixed stack, use the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">-m</code> option, as shown in <a style="text-decoration: none; color: #3a87cf;" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html#BABJAEAC">Example 2-31</a>.</p>
<div id="JSTGD219">
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">Example 2-31 Mixed Java Stack with jstack Utility</p>
<pre dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444; margin-left: 40px;" xml:space="preserve">$ <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace;">jstack -m 21177</code> Attaching to process ID 21177, please wait... Debugger attached successfully. Client compiler detected. JVM version is 1.6.0-rc-b100 Deadlock Detection: Found one Java-level deadlock: ============================= "Thread1": waiting to lock Monitor@0x0005c750 (Object@0xd4405938, a java/lang/String), which is held by "Thread2" "Thread2": waiting to lock Monitor@0x0005c6e8 (Object@0xd4405900, a java/lang/String), which is held by "Thread1" Found a total of 1 deadlock. ----------------- t@1 ----------------- 0xff2c0fbc __lwp_wait + 0x4 0xff2bc9bc _thrp_join + 0x34 0xff2bcb28 thr_join + 0x10 0x00018a04 ContinueInNewThread + 0x30 0x00012480 main + 0xeb0 0x000111a0 _start + 0x108 ----------------- t@2 ----------------- 0xff2c1070 ___lwp_cond_wait + 0x4 0xfec03638 bool Monitor::wait(bool,long) + 0x420 0xfec9e2c8 bool Threads::destroy_vm() + 0xa4 0xfe93ad5c jni_DestroyJavaVM + 0x1bc 0x00013ac0 JavaMain + 0x1600 0xff2bfd9c _lwp_start ----------------- t@3 ----------------- 0xff2c1070 ___lwp_cond_wait + 0x4 0xff2ac104 _lwp_cond_timedwait + 0x1c 0xfec034f4 bool Monitor::wait(bool,long) + 0x2dc 0xfece60bc void VMThread::loop() + 0x1b8 0xfe8b66a4 void VMThread::run() + 0x98 0xfec139f4 java_start + 0x118 0xff2bfd9c _lwp_start ----------------- t@4 ----------------- 0xff2c1070 ___lwp_cond_wait + 0x4 0xfec195e8 void os::PlatformEvent::park() + 0xf0 0xfec88464 void ObjectMonitor::wait(long long,bool,Thread*) + 0x548 0xfe8cb974 void ObjectSynchronizer::wait(Handle,long long,Thread*) + 0x148 0xfe8cb508 JVM_MonitorWait + 0x29c 0xfc40e548 * java.lang.Object.wait(long) bci:0 (Interpreted frame) 0xfc40e4f4 * java.lang.Object.wait(long) bci:0 (Interpreted frame) 0xfc405a10 * java.lang.Object.wait() bci:2 line:485 (Interpreted frame) ... more lines removed here to reduce output... ----------------- t@12 ----------------- 0xff2bfe3c __lwp_park + 0x10 0xfe9925e4 AttachOperation*AttachListener::dequeue() + 0x148 0xfe99115c void attach_listener_thread_entry(JavaThread*,Thread*) + 0x1fc 0xfec99ad8 void JavaThread::thread_main_inner() + 0x48 0xfec139f4 java_start + 0x118 0xff2bfd9c _lwp_start ----------------- t@13 ----------------- 0xff2c1500 _door_return + 0xc ----------------- t@14 ----------------- 0xff2c1500 _door_return + 0xc</pre>
</div>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">Frames that are prefixed with an asterisk (*) are Java frames, whereas frames that are not prefixed with an asterisk are native C/C++ frames.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">The output of the utility can be piped through <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">c++filt</code> to demangle C++ mangled symbol names. Because the Java HotSpot VM is developed in the C++ language, the <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">jstack</code> utility prints C++ mangled symbol names for the Java HotSpot internal functions.</p>
<p style="margin-left: 0px; margin-top: 3px; margin-bottom: 17px;">The <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">c++filt</code> utility is delivered with the native C++ compiler suite: <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">SUNWspro</code> on Oracle Solaris operating system and <code dir="ltr" style="font-family: 'Courier New', Monaco, Courier, monospace; color: #444444;">gnu</code> on Linux.</p>
</div>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/the-jstack-utility/">The jstack Utility | jstack Tutorial | scmGalaxy</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/the-jstack-utility/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jacksum &#8211; a java checksum utility &#8211; Introduction and usage</title>
		<link>https://www.scmgalaxy.com/tutorials/jacksum-a-java-checksum-utility/</link>
					<comments>https://www.scmgalaxy.com/tutorials/jacksum-a-java-checksum-utility/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Thu, 25 Feb 2010 10:05:12 +0000</pubDate>
				<category><![CDATA[Concept & Definition]]></category>
		<category><![CDATA[About Jacksum]]></category>
		<category><![CDATA[checksum]]></category>
		<category><![CDATA[Checksum algorithm]]></category>
		<category><![CDATA[checksum utility]]></category>
		<category><![CDATA[Checksum Verification]]></category>
		<category><![CDATA[Checksum verification tool]]></category>
		<category><![CDATA[How to use Jacksum]]></category>
		<category><![CDATA[Jacksum]]></category>
		<category><![CDATA[Jacksum Features]]></category>
		<category><![CDATA[Jacksum Introduction]]></category>
		<category><![CDATA[Jacksum Overview]]></category>
		<category><![CDATA[Jacksum usage]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Use of Jacksum]]></category>
		<category><![CDATA[Utility]]></category>
		<category><![CDATA[What is Jacksum]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/02/25/jacksum-a-java-checksum-utility/</guid>

					<description><![CDATA[<p>Jacksum, a java checksum utility Software Name : Jacksum Website : http://jacksum.net/en/index.html Version : 1.7.0 Jacksum is a platform independent checksum [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/jacksum-a-java-checksum-utility/">Jacksum &#8211; a java checksum utility &#8211; Introduction and usage</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="alignnone size-full wp-image-4151 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/jacksum.png" alt="jacksum-introduction" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/jacksum.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/jacksum-300x200.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p><b>Jacksum, a java checksum utility</b></p>
<p>Software Name : Jacksum</p>
<p>Website : <a href="http://jacksum.net/en/index.html" target="_blank" rel="noopener">http://jacksum.net/en/index.html</a></p>
<p>Version : 1.7.0</p>
<p><b>Jacksum</b> is a platform independent checksum utility (written entirely in Java) for computing and verifying (integrity check) checksums, CRC and hashes (fingerprints). It supports 58 popular hash algorithms and a lot of unique features.</p>
<p>The Jacksum is a freeware tool and suitable for more advanced users verify checksum values. It is platform independent software (support Windows and Unix) and supports 58 popular standard algorithms (Adler32, BSD sum, Bzip2’s CRC-32, POSIX cksum, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST R 34.11-94, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2’s CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1, Whirlpool and xor8).<br />
The Jacksum is written in Java and open source, we can download the source code and try to understand how Jacksum implement the above algorithm.<br />
<b>Use of Jacksum</b></p>
<ul>
<li>Often time, while we downloading files or software via some secure website, “Checksum” values in MD5 or SHA1 format are provided to protect users from downloading corrupted files or trojan infected files. Unfortunately, many users has no idea how to verify the downloaded file with “Checksum” value, end up in downloading virus or trojan infected files.</li>
<li>With Jacksum you can check if a filetransfer was successful. If you download software or huge files, like CD-images (so called iso files) from the internet, often there is a checksum or a hashcode provided. With Jacksum you can calculate such a checksum or hashcode from your local copy. If both checksequences are identical you know that the filetransfer was successful.</li>
<li>As Jacksum supports recursively file processing, you can compare two directory trees. Therefore you will be able to verify, if your copies or backups are identical with the original source, even if you don&#8217;t have access to both trees at the same time (compare two DVDs with just one drive for example).</li>
<li>Jacksum can assist you if you want to perform an unidirectional sync of two directory trees, even if they are on two different computer without a connection in between.<br />
As Jacksum reads each byte of a file, you can check if all files are still readable on your CD-ROM or DVD.</li>
<li>As Jacksum supports a platform independent and compatible file format, it helps you to verify data integrity of burned data on CD-ROMs or DVDs even after many years and even if you will have changed your Operating System.</li>
<li>Jacksum can help you to create incremental backups. If you are a developer, Jacksum can help you to create patches for your customers.</li>
<li>You can use Jacksum for intrusion detection, because Jacksum can check whether and what files have been changed or deleted on your system. Jacksum can not only check the content of each file you want, but also the file timestamps.</li>
<li>Use Jacksum for website content change detection, so get informed if something has changed on your favorite website (can be useful if the website has no announcement-mail-alias).</li>
<li>This software is OSI Certified Open Source software</li>
<li>It is entirely free software (it runs on free platforms and therefore it is listed also at the Free</li>
<li>Software Foundation directory)</li>
<li>It is free of charge, it costs nothing</li>
<li>It is free of registration (well, I&#8217;m happy if you write an e-mail to jonelo@jonelo.de for feedback</li>
<li>It never expires<br />
<b>Requirements:</b>· JRE version 1.3.1 or later</li>
</ul>
<p><b>Links:</b><br />
<a href="http://manpages.ubuntu.com/manpages/jaunty/man1/jacksum.1.html">http://manpages.ubuntu.com/manpages/jaunty/man1/jacksum.1.html</a><br />
<a href="http://linux.softpedia.com/get/Utilities/Jacksum-7175.shtml">http://linux.softpedia.com/get/Utilities/Jacksum-7175.shtml</a><br />
<a href="http://packages.ubuntu.com/lucid/jacksum">http://packages.ubuntu.com/lucid/jacksum</a><br />
<a href="https://jacksum.dev.java.net/">https://jacksum.dev.java.net/</a><br />
<a href="http://www.jonelo.de/java/jacksum/">http://www.jonelo.de/java/jacksum/</a><br />
<a href="http://sourceforge.net/projects/jacksum/">http://sourceforge.net/projects/jacksum/</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/jacksum-a-java-checksum-utility/">Jacksum &#8211; a java checksum utility &#8211; Introduction and usage</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/jacksum-a-java-checksum-utility/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SSARC Utility &#038; SSRESTOR Utility &#8211; Archive, Restore VSS Project &#8211; Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/ssarc-utility-ssrestor-utility/</link>
					<comments>https://www.scmgalaxy.com/tutorials/ssarc-utility-ssrestor-utility/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 06 Oct 2009 11:41:40 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Archive VSS Project]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Instructions]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Restore VSS Project]]></category>
		<category><![CDATA[SSARC]]></category>
		<category><![CDATA[SSARC Tutorial]]></category>
		<category><![CDATA[SSARC Utility]]></category>
		<category><![CDATA[SSRESTOR]]></category>
		<category><![CDATA[SSRESTOR Tutorial]]></category>
		<category><![CDATA[SSRESTOR Utility]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Utility]]></category>
		<category><![CDATA[Visual Source Safe]]></category>
		<category><![CDATA[VSS]]></category>
		<category><![CDATA[VSS Project]]></category>
		<category><![CDATA[Ways]]></category>
		<category><![CDATA[What is SSARC Utility]]></category>
		<category><![CDATA[What is SSRESTOR Utility]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2009/10/06/ssarc-utility-ssrestor-utility/</guid>

					<description><![CDATA[<p>Question:  How to Archive VSS Project in Visual Source Safe (VSS)? How to Restore VSS Project in  Visual Source Safe [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/ssarc-utility-ssrestor-utility/">SSARC Utility &#038; SSRESTOR Utility &#8211; Archive, Restore VSS Project &#8211; Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="alignnone size-full wp-image-4067" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/ssarc-utility-ssrestor-util.png" alt="ssarc-utility-ssrestor-utility" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/ssarc-utility-ssrestor-util.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/ssarc-utility-ssrestor-util-300x200.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p class="MsoNormal"><b>Question:  </b></p>
<p class="MsoNormal"><b>How to Archive VSS Project in Visual Source Safe (VSS)?</b></p>
<p class="MsoNormal"><b>How to Restore VSS Project in  </b> <b>Visual Source Safe (VSS)?</b></p>
<p class="MsoNormal"><b>What is SSARC Utility?</b></p>
<p class="MsoNormal"><b>What is SSRESTOR Utility?</b></p>
<p class="MsoNormal">
<p class="MsoNormal"><b> <span style="font-size: 15pt; line-height: 115%; font-family: 'Arial','sans-serif'; color: black;"> SSARC Utility</span></b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Allows you to archive files, projects, or old versions from a Visual SourceSafe database. Each time you run SSARC (Ssarc.exe), the utility asks only once before it deletes the files/projects. Visual SourceSafe also implements archive operations through its Archive wizard, available in Visual SourceSafe Administrator.</span></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> The utility SSRESTOR is used for restoration of archived files. Use of SSARC and SSRESTOR together allows wide-area Visual SourceSafe installations to move files and projects among databases. </span></p>
<p class="MsoNormal"><span style="font-family: 'Verdana','sans-serif'; color: #333333;"> Limitation: </span> <span style="font-size: 8.5pt; line-height: 115%; font-family: 'Verdana','sans-serif'; color: black;"> SSARC cannot create an archive file that is greater than 2 GB. If you try to archive a project larger than this, you will receive an Out of Memory and/or a CRC mismatch error message. To work around this limitation, you will need to archive each subproject.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 115%; font-family: 'Verdana','sans-serif'; color: black;">  </span></b></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 115%; font-family: 'Verdana','sans-serif'; color: black;"> Syntax</span></b></p>
<p class="MsoNormal"><span style="color: black;">ssarc [-C][-D][-I-][-O][-S][-V][-X][-Y] &lt;archive file to create&gt; &lt;files/projects to archive&gt;</span></p>
<p class="MsoNormal">
<p class="MsoNormal">If you are not familiar with the syntax conventions used, <code> <span style="font-size: 10pt; line-height: 115%;"> &lt;</span></code> and <code> <span style="font-size: 10pt; line-height: 115%;"> &gt;</span></code> are used to delimit arguments. The &lt; and &gt; characters are not typed in. The <code> <span style="font-size: 10pt; line-height: 115%;"> |</span></code> means a choice of options. Items enclosed in square brackets, <code> <span style="font-size: 10pt; line-height: 115%;"> []</span></code> are optional, and items not enclosed in square brackets are mandatory.</p>
<p class="MsoNormal"><span style="color: black;"> </span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 115%; font-family: 'Verdana','sans-serif'; color: black;"> Utility Options</span></b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> The following table describes options available with SSARC.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -C</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a comment (standard Visual SourceSafe parameter). The comment is inserted into the Visual SourceSafe history if the items are deleted from the database as part of the archived record. The comment is also inserted into the archive file itself, if there is one.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -C-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies no comment.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -D</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Deletes the archived items from the database.</span></p>
<p class="MsoNormal">Specifiying the -d option will delete from your project the items that you are archiving. This will delete your project from Sourcesafe if you use it! Of course, you can restore from your backup file, but for normal use, and for smaller projects I don&#8217;t recommend this. This function obviously has its uses, but be sure you want to do this.</p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -D-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Controls whether Visual SourceSafe actually deletes anything from the database. <b>If this option is not used,</b> the default is to ask.</span></p>
<p class="MsoNormal">If the -d- option is used, then SSARC will not delete the projects the items you are archiving. The default is to prompt the user interactively, so if you want to run this from a script, you will need to choose one of the options, or use the -i- flag</p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -I-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies no prompt for input (standard Visual SourceSafe parameter).</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -O</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Paginates or redirects output (standard Visual SourceSafe parameter).</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -S&lt;srcsafe.ini path&gt;, &lt;data path&gt;</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a path to Srcsafe.ini and the Data directory. The full syntax looks like -Sc: \VSS, OldDB. The item before the comma is the full path to Srcsafe.ini, and the item after the comma is the string in parentheses in a Data_Path setting. If there is no comma, a Srcsafe.ini path is indicated, but no data string. If the first character after the –S is a comma, a data string is specified, but no Srcsafe.ini path. </span></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;">  </span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -V[D|L]&lt;version&gt;</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a version number to archive (standard Visual SourceSafe parameter). Enter the version number in standard Visual SourceSafe format (number, date, or label). If this option is not used, SSARC operates on entire files or projects, instead of all versions up to and including a certain version.</span></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Note that SSARC is generally inclusive. That is, if you type –V9, you create an archive file that contains version 9.0 and everything before it. The delete pass is also inclusive, that is, version 9.0 is actually deleted unless it is in the label format. In the latter case, the label is stored in the archive file but is not deleted. If –V is specified, you never delete the current version, even if you specify -D9/9/99. If you are using a version the label format, and the label has a space in it, you must place the entire option in quotation marks, for example, &#8220;-VThisOne&#8221;.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -X</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Archives only deleted items in the specified files and projects. Deleted items are still stored in the Visual SourceSafe database unless the <b>Destroy Permanently</b> option is selected when performing a <b>Delete</b> command. </span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -X-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Archives all items in the specified files and projects. </span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -Y&lt;user&gt;,&lt;pwd&gt;</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies the user name and password (standard Visual SourceSafe parameter). An example is -YAdmin,Bunny.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> archive file to create</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies the name of the archive file to create during the archive operation.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> files/projects to archive</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies files and projects to back up.</span></p>
<h3>Examples</h3>
<dl>
<dt><code>SSARC -d- -yadmin,password archive.ssa $/</code></dt>
<dd>Backup the entire default Sourcesafe database to archive.ssa, leaving the database exactly as it is.</dd>
<dt><code>SSARC -d- "-vlProduction Release" -yadmin,password -olog.txt  	archive.ssa $/Test</code></dt>
<dd>Backup everything since the version labelled &#8216;Production Release&#8217; and create a log file with the results of the archiving process.</dd>
<dt><code>SSARC -d -x -yadmin,password archive.ssa "$/Project Global  	Domination" $/OtherProject</code></dt>
<dd>Archive, and delete the deleted files from two projects.</dd>
<dt><code>SSARC -i -yadmin,password -olog.txt "-cArchive Everything"  	archive.ssa $/</code></dt>
<dd>Archive the entire Sourcesafe database, while creating a log file, adding a comment, and running non-interactively, suitable for a scheduled task.</dd>
</dl>
<p class="MsoNormal">
<p class="MsoNormal"><b> <span style="font-size: 15pt; line-height: 115%; font-family: 'Arial','sans-serif'; color: black;"> SSRESTOR Utility</span></b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Restores information from a previously created archive. If the restore operation attempts to create a duplicate file or project name, the operation fails. Visual SourcSafe also implements restore operations through its Restore wizard, available in Visual SourceSafe Administrator.</span></p>
<p class="MsoNormal"><span style="font-family: 'Verdana','sans-serif'; color: #333333;"> Limitation: </span> <span style="font-size: 8.5pt; line-height: 115%; font-family: 'Verdana','sans-serif'; color: black;"> SSRESTOR cannot restore a project that is larger than 2 GB. A project larger than this cannot be archived.</span></p>
<p class="MsoNormal"><span style="font-family: 'Verdana','sans-serif'; color: #333333;">  </span></p>
<p class="MsoNormal"><span style="font-family: 'Verdana','sans-serif'; color: #333333;"> Syntax: </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 140%; font-family: 'Courier New'; color: black;"> ssrestor [-C][-I-][-L][-O][-P&lt;project&gt;][-S][-T][-X][-Y]</span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 115%; font-family: 'Times New Roman','serif'; color: black;"> &lt;archive file to restore&gt; [files/projects]</span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 115%; font-family: 'Times New Roman','serif'; color: black;">  </span></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Utility Options </span></p>
<p class="MsoNormal"><a class="mceItemAnchor" name="sectionToggle1"></a> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> The following table describes options available with this command.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -C</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a comment (standard Visual SourceSafe parameter). The comment is applied to the history entry for restored item(s).</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -C-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies no comment.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -I-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies no input (standard Visual SourceSafe parameter).</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -L</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a list only, without any restoration. </span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -LA</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a list of all files and subprojects listed under a project, for example, project $/A.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -O</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Redirects output (standard Visual SourceSafe parameter).</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -P&lt;project&gt;</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a project to which to restore content. For instance, if you archive $/A/BAR.C and then restore it, it will be restored as $/A/BAR.C.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -S&lt;srcsafe.ini path&gt;&lt;data path&gt;</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies a path to Srcsafe.ini and the Data directory.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -T</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Tests the archive file for corruption, but does not actually restore from the archive. </span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -X, -X-</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Identifies an item that you want to restore, for example, $/a/b. This option distinguishes between deleted projects and undeleted projects that have the same names. For example, if you have deleted $a/b and specify the -X option, SSRESTOR restores the deleted $/a/b. If you specify -X-, SSRESTOR restores an undeleted $/a/b. Even though they have the same name, note that these are two different projects that the utility treats differently.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> -Y&lt;user&gt;,&lt;pwd&gt;</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies user name and password (standard Visual SourceSafe parameter). An example is -YAdmin,Moggy.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> archive file to restore</span> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies the name of the archive file from which to restore the database.</span></p>
<p class="MsoNormal"><b> <span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> files/projects</span></b><b> </b></p>
<p class="MsoNormal"><span style="font-size: 8pt; line-height: 140%; font-family: 'Verdana','sans-serif'; color: black;"> Specifies files and projects to restore.</span></p>
<h3>Examples</h3>
<dl>
<dt><code>SSRESTOR -la -yadmin,password archive.ssa $/</code></dt>
<dd>Display a list of all of the files archived in archive.ssa.</dd>
<dt><code>SSRESTOR "-p$/Test 2" -sD:\newfolder\ -yadmin,password backup.ssa  	$/Test</code></dt>
<dd>Restores project $/Test to the database to a new location, $/Test 2, from the archive file backup.ssa, in a different Sourcesafe database.</dd>
</dl>
<h2>Miscellaneous tips</h2>
<ul>
<li>Putting the path to the &lt;VSS PATH&gt;\win32 folder in your PATH environment variable makes shell commands a lot easier</li>
<li>If you get a message &#8220;Only ADMIN can run this utility&#8221;, it means that you are either not specifying the admin account, or the password is incorrect. Use <code>"-yadmin,password"</code> if the admin password is &#8220;password&#8221;, or <code>"-yadmin,"</code> if the admin password is not set (not recommended!).</li>
<li>If you are using an option that has a space in the argument, enclose the whole thing with quote marks, i.e. &#8220;-p$/Project A&#8221;</li>
<li>A daily archive is easy to do with a Windows shell script, maybe something like this. Then use Scheduled Tasks to have this run every day.<br />
<blockquote>
<pre>function q (str)
	' to make the command a bit more readable, I hope
	q = """" &amp; str &amp; """"
end function</pre>
<p>PROJECT = &#8220;$/&#8221;<br />
USERID = &#8220;admin&#8221;<br />
PASSWORD = &#8220;admin&#8221;</p>
<p>&#8216; location of SSARC program<br />
SSARCPATH = &#8220;C:\program files\microsoft visual studio\common\vss\win32\ssarc.exe&#8221;<br />
&#8216; folder of srcsafe.ini<br />
SRCSAFEINIPATH = &#8220;&#8221;<br />
&#8216; prepended to filename in case you&#8217;re doing more than one.<br />
LABEL = &#8220;ARCHIVE&#8221;<br />
&#8216; destination of archive files<br />
BACKUPFOLDER = &#8220;C:\BACKUPS\&#8221;</p>
<p>&#8216; generate a name based on the time.<br />
today = now()<br />
backupfilename = LABEL &amp; &#8220;-&#8221; &amp; formatdatetime(now,2) &amp; &#8220;.ssa&#8221;</p>
<p>cmd = q(SSARCPATH) &amp; &#8221; &#8221; &amp; _<br />
q(&#8220;-s&#8221; &amp; SRCSAFEINIPATH &amp; &#8220;,&#8221;) &amp; &#8221; -i- &#8221; &amp; &#8221; -d- &#8221; &amp; _<br />
q(&#8220;-y&#8221; &amp; USERID &amp; &#8220;,&#8221; &amp; PASSWORD) &amp; &#8221; &#8221; &amp; _<br />
q(BACKUPFOLDER &amp; backupfilename) &amp; &#8221; &#8221; &amp; q(PROJECT)</p>
<p>Set WshShell = WScript.CreateObject(&#8220;WScript.Shell&#8221;)<br />
wscript.echo cmd<br />
WshShell.run cmd<br />
set wsshell = nothing</p></blockquote>
</li>
</ul>
<p class="MsoNormal">
<p>The post <a href="https://www.scmgalaxy.com/tutorials/ssarc-utility-ssrestor-utility/">SSARC Utility &#038; SSRESTOR Utility &#8211; Archive, Restore VSS Project &#8211; Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/ssarc-utility-ssrestor-utility/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
