As one of our requirement was to connect to remote Linux server through SFTP connection and delete some files which are older than 7 days.
I used the below piece of code for that,
But unfortunately, "find" command does not work with "SFTP" connection, and as a result, iam unable to remove files from remote server.
I even can not use "SSH" for security purpose. And the script is fired from "ksh".
So my question is, how can we delete files from remote server through "SFTP".
Or, is there any alternative command of "ls" which does the exactly same thing as,
Do you have, or can you install, lftp? It is a scriptable FTP client that can use several protocols, including SFTP.
One of lftp's commands is cls which could be used to make a listing of filename and date which could then be processed locally to identify files to be deleted. It won't be pretty. The man page can be found here so that you can read it and decide whether you want to go this route. (The man page doesn't actually give any information about 'cls' unfortunately)
Andrew
Last edited by apmcd47; 03-07-2017 at 12:33 PM..
Reason: More up do date man page in link
You could also do an ls -l in your first sftp and capture the output to a (local) file. You can then work out which files to delete and call an appropriate second sftp to delete the files.
You might be better to write your commands in a temporary file and use the -b flag of sftp to run it in batch mode.
As one of our requirement was to connect to remote Linux server through SFTP connection and delete some files which are older than 7 days.
I used the below piece of code for that,
SFTP_CONNECTION=`sftp user_id@host ...
cd DESIRED_DIR;
find /path/to/files* -mtime +5 -exec rm -rf {} \;... (1 Reply)
Hi All,
I am using below code to delete files older than 2 days. In case if there are no files, I should log an error saying no files to delete.
Please let me know, How I can achive this.
find /path/*.xml -mtime +2
Thanks and Regards
Nagaraja. (3 Replies)
Hi i have tried searching and googling, but cant quite get there
I need to delete all files in a directory that are older than 15 days
here is what i have tried
find /path/to/files* -mtime +15 -exec del {} \;the first section works
find /path/to/files* -mtime +15but the del command dosent... (4 Replies)
Hi all,
I want to delete log files with extension .log which are older than 30
days. How to delete those files?
Operating system -- Sun solaris 10
Your input is highly appreciated.
Thanks in advance.
Regards,
Williams (2 Replies)
i have to delete files which are older than 15 days or more except the ones in the directory Current and also *.sh files
i have found the command for files 15 days or more older
find . -type f -mtime +15 -exec ls -ltr {} \;
but how to implement the logic to avoid directory Current and also... (3 Replies)
I will like to write a script that delete all files that are older than 7 days in a directory and it's subdirectories. Can any one help me out witht the magic command or script?
Thanks in advance,
Odogboly98:confused: (3 Replies)