Sponsored Content
Top Forums UNIX for Beginners Questions & Answers How to check via SSH and credentials if file on remote server exists? Post 303031847 by RudiC on Wednesday 6th of March 2019 12:43:05 PM
Old 03-06-2019
For that many files, an ssh connection for every single one is pointless unless they all are on different servers. Should they be on one or few servers, and you just need to check their existence, why not use the sftp command, which is part of the ssh suite, to get a remote directory listing and evaluate that locally? Like
Code:
sftp user@host <<< "ls -1 $DIRTOCHECK" > filesonserver

If there are more than one remote directories to be searched, try using a "batchfile" containing the ls commands for the target directories, like
Code:
sftp -b batchfile user@host  > filesonserver

After that, on the local node, you can compare the results against the list of necessary files.

Last edited by RudiC; 03-06-2019 at 03:24 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check Remote Folder Exists

Hi, I want to sftp some files to a remote directory. Before transferring files i want to check whether the required folder exists. If so copy the files to that folder, else create the folder and copy the files. Thanks in adv (1 Reply)
Discussion started by: borncrazy
1 Replies

2. Shell Programming and Scripting

check if file exists on remote system ?

Hi there, I am designing a software rollout script and need to check if a particular file exists on a remote system something along the lines of if ; then blah blah The above doesnt work but you get the general idea....is there a way I can do this on a single line ?? any help would... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

3. Shell Programming and Scripting

check if remote file exists

Hi Does anybody know how I can check if a file exists on a remote machine i.e. see bellow, this doesn't work by the way and if tried countless variations on this #!/bin/sh hostname=server56 if ; then echo file exists else echo file doesn't exist fi Any help on this would... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

4. UNIX for Dummies Questions & Answers

ftp - check if file on remote exists (skip overriding)

Hello, I have a script that uploads a file from local to remote place using ftp. The problem is that, if on remote host there is a file called the same as the one I want to upload, the ftp program overrides that file. But I don't want to override nothing (even if the remote file is older,... (3 Replies)
Discussion started by: spiriad
3 Replies

5. Shell Programming and Scripting

Check file exists on remote machine.

I am haveing one script haveing one issue with this could any one can reply soon it is very urgent. :p if ssh hcp_ftp@$1 'ls '$2/stop.txt' 1>&2 2>/dev/null'; then exit 1; else scp -p hcp_ftp@$1:$2/VAT*.dat $3 <<EOF EOF cd $3 pwd echo 'About to find file' SOURCE_FILE=$(ls -rt VAT*.dat|tail... (2 Replies)
Discussion started by: marpadga18
2 Replies

6. Shell Programming and Scripting

csh Check if file exists on remote system

I've seen this question posed a few times with shell scripting, but have not found anything with csh. I am trying to download multiple txt files from a source using wget. These are archived tornado warning files; however, the files only exist if there were tornado warnings issued that day. I'm... (3 Replies)
Discussion started by: meteorologistks
3 Replies

7. Shell Programming and Scripting

ssh to remote server and check if file exists

Hi everyone, I am trying to figure out a way to ssh to remote server and check if file exists, and if it doesn't I want to leave the script with an exit status of 5. I have the following that I am attempting to use, but it is not returning anything: check() { ssh ${SOURCE_SERV} "ls -l... (4 Replies)
Discussion started by: jimbojames
4 Replies

8. Shell Programming and Scripting

Unable to check if file exists on remote server using expect

Hi, I need to check if a file exists on remote server using expect. #!/bin/bash ip_addr=10.10.10.10 user=root passwd=Help filename=/root/test expect -c " spawn ssh -n -T -o NumberOfPasswordPrompts=3 -o StrictHostKeyChecking=no $user@$ip_addr expect \"*?assword:*\" send --... (6 Replies)
Discussion started by: temp_user
6 Replies

9. Shell Programming and Scripting

Except script fails to check file exists or not in remote node

Dear members, The following expect script connects to remote node and check for the file "authorized_keys" in directory /root/.ssh in remote node. However the result is always found even if the file exist or doesn't exist. expect { "$fname" { send_user "found\n" } Any idea what is... (4 Replies)
Discussion started by: Sudhakar333
4 Replies

10. Shell Programming and Scripting

Check if file exists via ssh in ssh (nested)

I'm using redhat and have an odd issue with a nested ssh call. ssh -i ~/.ssh/transfer-key -q transfer@fserver1 ] && ssh -i ~/.ssh/transfer-key transfer@fserver1 "ssh -i ~/.ssh/sftp-key sftpin@10.0.0.1 ]" && ssh -i ~/.ssh/transfer-key transfer@fserver1 "scp -i ~/.ssh/sftp-key /home/S/outbox/*... (2 Replies)
Discussion started by: say170
2 Replies
sftp(1) 							   User Commands							   sftp(1)

NAME
sftp - secure file transfer program SYNOPSIS
sftp [options] [user@]host[:dir[/]] sftp [options] [user@]host[:file1 [file1 [file | dir2]] DESCRIPTION
The sftp utility is an interactive file transfer program with a user interface similar to ftp(1) that uses the ssh(1) command to create a secure connection to the server. sftp implements the SSH File Transfer Protocol as defined in IETF draft-ietf-secsh-filexfer. There is no relationship between the protocol used by sftp and the FTP protocol (RFC959) provided by ftp(1). The first usage format causes sftp to connect to the given host and enter an interactive mode. If a username was provided then sftp tries to log in as the given user. If a directory is provided then sftp tries to change the current directory on the server to the given direc- tory before entering the interactive mode. The second usage format retrieves the given file from the server and copies it to the given target file or directory on the client. If a username is given sftp tries to log in as the given user. OPTIONS
The following options are supported: -1 Specifies the use of protocol version 1. -b batchfile Batch mode reads a series of commands from an input batchfile instead of stdin. Since it lacks user interaction, it should be used in conjunction with non-interactive authentication. sftp aborts if any of the following commands fail: get, rm, and lmkdir. -B buffer_size Specifies the size of the buffer that sftp uses when transferring files. Larger buffers require fewer round trips at the cost of higher memory consumption. The default is 32768 bytes. -C Enables compression, using the -C flag in ssh(1). -F ssh_config Specifies an alternative per-user configuration file for ssh. This option is directly passed to ssh(1). -o ssh_option Specifies an option to be directly passed to ssh(1). -P sftp_server path Executes the given path as an sftp-server and uses a pipe, rather than an ssh connection, to communicate with it. This option can be useful in debugging the sftp client and server. The -P and -S options are mutually exclusive. -R num_requests Specifies how many requests can be outstanding at any one time. Increasing this can slightly improve file transfer speed but increases memory usage. The default is 16 outstanding requests. -S ssh program path Uses the given program instead of ssh(1) to connect to the sftp server. The -P and -S options are mutually exclusive. -s subsystem | sftp_server Specifies the SSH2 subsystem or the path for an sftp server on the remote host. A path is useful for using sftp over protocol version 1, or when the remote sshd does not have an sftp subsystem configured. -v Raises logging level. This option is also passed to ssh(1). OPERANDS
The following operands are supported: hostname | user@hostname The name of the host to which sftp connects and logs into. INTERACTIVE COMMANDS
Once in interactive mode, sftp understands a set of commands similar to those of ftp(1). Commands are case insensitive and pathnames can be enclosed in quotes if they contain spaces. bye Quits sftp. cd path Changes remote directory to path. lcd path Changes local directory to path. chgrp grp path Changes group of file path to grp. grp must be a numeric GID. chmod mode path Changes permissions of file path to mode. chown own path Changes owner of file path to own. own must be a numeric UID. help Displays help text. get [flags] remote-path [local-path] Retrieves the remote-path and stores it on the local machine. If the local path name is not specified, it is given the same name it has on the remote machine. If the -P flag is specified, then the file's full permission and access time are copied too. lls [ls-options [path]] Displays local directory listing of either path or current directory if path is not specified. lmkdir path Creates local directory specified by path. ln oldpath newpath Creates a link from oldpath to newpath. lpwd Prints local working directory. ls [flags] [path] Displays remote directory listing of either path or current directory if path is not specified. lumask umask Sets local umask to umask. mkdir path Creates remote directory specified by path. put [flags] local-path [local-path] Uploads local-path and stores it on the remote machine. If the remote path name is not specified, it is given the same name it has on the local machine. If the -P flag is specified, then the file's full permission and access time are copied too. pwd Displays remote working directory. exit Quits sftp. quit Quits sftp. rename oldpath newpath Renames remote file from oldpath to newpath. rmdir path Removes remote directory specified by path. rm path Deletes remote file specified by path. symlink oldpath newpath Creates a symbolic link from oldpath to newpath. ! command Executes command in local shell. ! Escapes to local shell. ? Synonym for help. EXIT STATUS
The following exit values are returned: 0 Successful completion. 1 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWsshu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
ftp(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), sshd(1M), attributes(5) To view license terms, attribution, and copyright for OpenSSH, the default path is /var/sadm/pkg/SUNWsshdr/install/copyright. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed location. AUTHOR
Damien Miller SunOS 5.10 15 Sep 2004 sftp(1)
All times are GMT -4. The time now is 07:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy