0

On my servers, one of the scripts that I have been using keeps creating the blank files at root and I haven't been noticed for more than over 6 months and now total files are created more than 500,000 files.

I cannot access that directory through control panel because there were too many files and I can only access with ftp. Even with ftp, ftp truncated the files by 8000 each. So I have to keep deleting 8000 each.

I tried to ask my host to delete it for me but they says they can't since it's the liability issues.

So what I want to know is how can i delete all of those 500,000 files through ftp? Since it's shared hosting, I don't have SSH access either. Hosting provider says I can request the SSH access but need to verify it and their office closed until next week. So I am stuck with ftp for now.

So please kindly let me know how can i delete massive files via ftp ?

And incase, if i can get the ssh access, please kindly let me know how can i delete the files via ssh with efficient ways ?

Filename are like this

  • closecp.139619
  • closecp.139619.1
  • closecp.139620
  • closecp.139620.1
Bart De Vos
  • 18,171

5 Answers5

2

As sam pointed out I'd put a PHP or Perl file on your webspace which deletes the files from the directory.

Be sure the script cannot be found easily by anyone else but you and ensure the values in it cannot be overwritten via POST or GET.

1

Its probably going to take a good long while deleting those files, expect high I/O during the time.

Theres lots of useful advise on how to delete lots and lots of files in this article rm-on-a-directory-with-millions-of-files

Yours might not be millions but it will be significantly slow.

Matthew Ife
  • 24,261
1

Finally, I got it with the ftp command lines. I used "cmd" from window.

First i need to turn off the prompt with

prompt

Then delete with the following command

mdelete closecp.*
Bart De Vos
  • 18,171
0

You may be in luck and the FTP server allows server-side expanding wildcards.

Ditch your FTP GUI and whip out the shell, connect & login by the command line ftp. Type "del closecp.*" and let it churn away. Oh, it might be useful to disable prompting first (depends what system you're on).

roeme
  • 3,955
  • 3
  • 23
  • 34
0

If you can ssh to the box, you can run something like:

find /path/to/files -maxdepth 1 -name "closecp.*" -delete

That will find all the files with names of the form "closecp.*" (as you noted) in the directory /path/to/file (change this to suit your situation). The "-maxdepth 1" option will keep the "find" command from looking into subdirectories, and look only in /path/to/file.

cjc
  • 25,492