2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Fixed bug in gpdb_add_project.pl Met about MultiSite Hardening Daemon (MSHD)...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>Rexec - Status</title>
8 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9 <link rel="canonical" href="http://defaria.com/blogs/Status/2006/10/rexec.html">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
13 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14 <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
19 <link rel="prev" href="http://defaria.com/blogs/Status/2006/10/redirecting-on.html" title="Redirecting on ErrorDocument">
20 <link rel="next" href="http://defaria.com/blogs/Status/2006/10/rexec-1.html" title="Rexec">
21 <!-- Open Graph Protocol -->
22 <meta property="og:type" content="article">
23 <meta property="og:locale" content="en-us">
24 <meta property="og:title" content="Rexec">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2006/10/rexec.html">
26 <meta property="og:description" content=" Fixed bug in gpdb_add_project.pl Met about MultiSite Hardening Daemon (MSHD)...">
27 <meta property="og:site_name" content="Status">
28 <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
30 <meta itemprop="description" content=" Fixed bug in gpdb_add_project.pl Met about MultiSite Hardening Daemon (MSHD)...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2006/10/rexec.html">
32 <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
62 <div id="content-inner">
63 <ul class="breadcrumb breadcrumb-list">
64 <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65 <li class="breadcrumb-list-item">Rexec</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1835" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">Rexec</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2006-10-05T15:21:35-08:00" itemprop="datePublished">October 5, 2006</time></li>
74 <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Fixed bug in gpdb_add_project.pl</li>
87 <li>Met about MultiSite Hardening Daemon (MSHD)</li>
91 <p>The gpdb_add_project.pl script utilizes rsh to log into remote sites to execute and otherwise gather data from other sites (Actually it uses rsh locally too but that's another blog entry!). It does this with code like this:</p>
94 unless ($site_registry_handle->open("rsh $siteHash{$siteName} -n cat $syncReg |")) {
95 print ("Can not open rsh $siteHash{$siteName} -n cat $syncReg |.\n");
100 <p>The problem is that the above code will not work. What is returned from the open call here is whether or not the rsh command worked - not whether or not the cat command worked! Indeed open of a pipe returns little - it's the close of the pipe that's going to return the status of the rsh! The status of the cat in this case is never returned. And in this case it was failing. There is no real reliable method for getting the status of the cat command except perhaps to process the remote session using expect or Perl/Expect.</p>
102 <p>Since we expect the cat to work and to return lines and because there is a specific format for the first line, I implemented the following:</p>
104 <div class=code><pre>
112 @lines = `rsh $server -n cat $file`;
116 @lines = `cat $file`;
119 if ($lines [0] and $lines [0] !~ /\#\# SYNC_VERSION 1\.0/) {
127 <p>This solves the problem for this particular case. However this script uses this invalid technique for many other "remote calls" and has potential for error.</p>
129 <nav class="page-navigation entry-navigation pagination content-nav">
130 <ul class="page-navigation-list">
132 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2006/10/redirecting-on.html" title="Redirecting on ErrorDocument">Previous entry</a></li>
135 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2006/10/rexec-1.html" title="Rexec">Next entry</a></li>
140 <aside id="zenback" class="zenback feedback">
141 Please paste Zenback script code here.
148 <aside class="widgets related" role="complementary">
149 <nav class="widget-search widget">
150 <div class="widget-content">
151 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
153 <input type="text" name="search" value="" placeholder="Search...">
155 <input type="hidden" name="IncludeBlogs" value="8">
157 <input type="hidden" name="limit" value="20">
158 <button type="submit" name="button">
159 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
165 <nav class="widget-archive-category widget">
166 <h3 class="widget-header">Categories</h3>
167 <div class="widget-content">
170 <ul class="widget-list">
173 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
181 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
189 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
197 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
205 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
213 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
221 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
229 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
237 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
245 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
253 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
261 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
273 <nav class="widget-archive-dropdown widget">
274 <h3 class="widget-header">Archives</h3>
275 <div class="widget-content">
277 <option>Select a Month...</option>
279 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
283 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
287 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
291 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
295 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
299 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
303 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
307 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
311 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
315 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
319 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
323 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
327 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
331 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
335 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
339 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
343 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
347 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
351 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
355 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
359 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
363 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
367 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
371 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
375 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
379 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
383 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
387 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
391 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
395 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
399 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
403 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
407 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
411 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
415 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
419 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
423 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
427 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
431 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
435 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
439 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
443 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
447 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
451 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
455 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
459 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
463 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
467 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
471 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
475 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
479 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
483 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
487 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
491 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
495 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
499 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
503 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
507 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
511 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
515 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
519 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
523 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
527 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
531 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
535 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
539 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
543 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
547 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
551 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
555 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
559 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
563 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
571 <div class="widget-syndication widget section">
572 <div class="widget-content">
573 <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
581 <footer id="footer" role="contentinfo">
582 <div id="footer-inner">
583 <div id="footer-content">
584 <nav role="navigation">
586 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
592 <p class="license">© Copyright 2016.</p>
593 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
599 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
600 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>