Delete 5 days older files from sftp


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Delete 5 days older files from sftp
# 1  
Old 03-07-2017
Delete 5 days older files from sftp

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,
Code:
SFTP_CONNECTION=`sftp user_id@host ... 
cd DESIRED_DIR;
find /path/to/files* -mtime +5 -exec rm -rf {} \;
bye
END`

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,
Code:
"find /path/to/files* -mtime +5 -exec rm -rf {} \;"


Last edited by ATWC; 03-07-2017 at 12:26 PM..
# 2  
Old 03-07-2017
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
# 3  
Old 03-08-2017
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.



I hope that this helps,
Robin
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete 5 days older files from sftp

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)
Discussion started by: ATWC
1 Replies

2. Shell Programming and Scripting

Delete files older than X days.

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)
Discussion started by: Nagaraja Akkiva
3 Replies

3. AIX

How do i delete files older than 15 days in AIX?

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)
Discussion started by: bluesteel
4 Replies

4. Solaris

Delete files older than 30 days

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)
Discussion started by: William1482
2 Replies

5. Shell Programming and Scripting

delete files more than 15 days older

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)
Discussion started by: ali560045
3 Replies

6. UNIX for Dummies Questions & Answers

Delete files older than 30 days

This is driving me crazy. How can I delete files in a specifc directory that are over 30 days old? Thanks in advance. (3 Replies)
Discussion started by: tlphillips
3 Replies

7. Shell Programming and Scripting

delete files and folders older than 3 days

find /basedirectory -type f -mtime +3 >> /tmp/tempfile find /basedirectory -type d -mtime +3 >> /tmp/tempfile mailx -s "List of removed files and folders" myemail@domain.com < /tmp/te mpfile rm /tmp/tempfile find /basedirectory -type f -mtime +3 -exec rm {} \; find /basedirectory -type d... (7 Replies)
Discussion started by: melanie_pfefer
7 Replies

8. UNIX for Dummies Questions & Answers

How can I delete files older than 7 days?

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)
Discussion started by: odogbolu98
3 Replies

9. UNIX for Dummies Questions & Answers

delete files older than 7 days

can anyone tell me how I would write a script in ksh on AIX that will delete files in a directory older than 7 days? (1 Reply)
Discussion started by: lesstjm
1 Replies
Login or Register to Ask a Question