@@ -18,7 +18,7 @@ import (
1818 "bufio"
1919 "bytes"
2020 "fmt"
21- "io"
21+ // "io"
2222 "os"
2323 "os/exec"
2424 "strings"
@@ -35,7 +35,7 @@ type RemoteCred struct {
3535func (rc * RemoteCred ) Get () error {
3636 reader := bufio .NewReader (os .Stdin )
3737 fmt .Println (
38- "Enter PasswordLess ssh User for remote copy. Leave Blank for cluster without remote nodes): " ,
38+ "Enter ssh User for remote copy. Leave Blank for cluster without remote nodes): " ,
3939 )
4040 username , err := reader .ReadString ('\n' )
4141 if err != nil {
@@ -96,7 +96,7 @@ func (fcjwp *FSCopyJobWithPattern) StartCopyRemoteWithPattern() error {
9696 // we invoke bash shell because the wildcards are interpretted by bash shell not the rsync program
9797 fcjwp .Dcrlog .Debug (
9898 fmt .Sprintf (
99- "preparing command rsync -az --include=%s --exclude=%s --info=progress2 %s@%s:%s/ %s" ,
99+ "preparing command rsync -az --include=%s --exclude=%s --progress %s@%s:%s/ %s" ,
100100 filepattern ,
101101 excludepattern ,
102102 fcjwp .CopyJobDetails .Src .Username ,
@@ -110,7 +110,7 @@ func (fcjwp *FSCopyJobWithPattern) StartCopyRemoteWithPattern() error {
110110 "bash" ,
111111 "-c" ,
112112 fmt .Sprintf (
113- "rsync -az --include=%s --exclude=%s --info=progress2 %s@%s:%s/ %s" ,
113+ "rsync -az --include=%s --exclude=%s --progress %s@%s:%s/ %s" ,
114114 filepattern ,
115115 excludepattern ,
116116 fcjwp .CopyJobDetails .Src .Username ,
@@ -119,9 +119,28 @@ func (fcjwp *FSCopyJobWithPattern) StartCopyRemoteWithPattern() error {
119119 fcjwp .CopyJobDetails .Dst .Path ,
120120 ))
121121
122- cmd .Stdout = fcjwp .CopyJobDetails .Output
123-
124- stderr , err := cmd .StderrPipe ()
122+ //commenting out the cmd.Stdout because it is being used to capture the output below.
123+ //cmd.Stdout = fcjwp.CopyJobDetails.Output
124+
125+ //Allow user to provide input if needed.
126+ cmd .Stdin = os .Stdin
127+ cmd .Stdout = os .Stdout
128+ cmd .Stderr = os .Stderr
129+
130+ //Executing the rsync command
131+ fcjwp .Dcrlog .Debug ("rsync command start" )
132+ fmt .Println ("Please add your password for SSH connection:" )
133+ err := cmd .Run ()
134+ if err != nil {
135+ fcjwp .Dcrlog .Debug (
136+ fmt .Sprintf ("StartCopyRemoteWithPattern: error doing remote copy job wait %w" , err ),
137+ )
138+ return fmt .Errorf ("StartCopyRemoteWithPattern: error doing remote copy job wait %w" , err )
139+ }
140+ return nil
141+
142+ // Removing stderr pipe for now. cmd.StderrPipe() The error produced by the command will appear in real time in the terminal.
143+ /* stderr, err := cmd.StderrPipe()
125144 if err != nil {
126145 return err
127146 }
@@ -149,6 +168,7 @@ func (fcjwp *FSCopyJobWithPattern) StartCopyRemoteWithPattern() error {
149168 return fmt.Errorf("StartCopyRemoteWithPattern: error doing remote copy job wait %w", err)
150169 }
151170 return nil
171+ */
152172}
153173
154174// Copy job
@@ -169,7 +189,7 @@ type FSCopyJob struct {
169189func (fcj * FSCopyJob ) StartCopyRemote () error {
170190 // var cmd *exec.Cmd
171191
172- fcj .Dcrlog .Debug (fmt .Sprintf ("preparing command rsync -az --info=progress2 %s@%s:%s/ %s" ,
192+ fcj .Dcrlog .Debug (fmt .Sprintf ("preparing command rsync -az --progress %s@%s:%s/ %s" ,
173193 fcj .Src .Username ,
174194 fcj .Src .Hostname ,
175195 fcj .Src .Path ,
@@ -178,7 +198,7 @@ func (fcj *FSCopyJob) StartCopyRemote() error {
178198 cmd := exec .Command (
179199 "rsync" ,
180200 "-az" ,
181- "--info=progress2 " ,
201+ "--progress " ,
182202 fmt .Sprintf (`%s@%s:%s` ,
183203 fcj .Src .Username ,
184204 fcj .Src .Hostname ,
@@ -187,9 +207,24 @@ func (fcj *FSCopyJob) StartCopyRemote() error {
187207 fcj .Dst .Path ),
188208 )
189209
190- cmd .Stdout = fcj .Output
210+ //cmd.Stdout = fcj.Output
211+ // Allow user to provide input if needed
212+ cmd .Stdin = os .Stdin
213+ cmd .Stdout = os .Stdout
214+ cmd .Stderr = os .Stderr
215+
191216
192- stderr , err := cmd .StderrPipe ()
217+ fcj .Dcrlog .Debug ("starting rsync command" )
218+ // Ask for SSH password
219+ fmt .Println ("Please add your password for SSH connection " )
220+ err := cmd .Run ()
221+ if err != nil {
222+ fcj .Dcrlog .Debug (fmt .Sprintf ("error doing remote copy job wait %w" , err ))
223+ return fmt .Errorf ("error doing remote copy job wait %w" , err )
224+ }
225+ return nil
226+
227+ /* stderr, err := cmd.StderrPipe()
193228 if err != nil {
194229 return err
195230 }
@@ -214,6 +249,8 @@ func (fcj *FSCopyJob) StartCopyRemote() error {
214249 }
215250
216251 return nil
252+ */
253+
217254}
218255
219256func (fcj * FSCopyJob ) StartCopyLocal () error {
0 commit comments