Skip to content
This repository was archived by the owner on Apr 26, 2021. It is now read-only.

Conversation

@soutzis
Copy link

@soutzis soutzis commented Aug 17, 2020

What I have added/changed is:

One line of code.

  • The real path of the directory (whether it is a regular directory or just a soft link that points to another directory) is retrieved first and any files/directories will recursively be deleted afterwards.
The goal of my change is:

Enhancement closes #3086

Consider that there were more samples to be analysed than what was originally calculated and the drive of CWD is low on space. A simple solution would be to use a symlink for all analyses to be stored on a secondary drive. However, when using $ cuckoo clean, if one of the directories under $CWD/storage/ is a soft-link, then an exception will be thrown and the directory (and its contents) that the soft-link points to will not be deleted.

By retrieving the real path of the directory before calling shutils.rmtree(), this problem is easily solved and everything works as expected.

What I have tested about my change is:

Before the change:
image

After the change:
image

When using `cuckoo clean`, if one of the directories under `$CWD/storage/` is a symlink, then an exception will be thrown and the files/directories that the symlink points to will not be deleted.

The change here is one line of code and what it does is: 

- The real path of the directory (whether a regular dir or a soft link) is retrieved first and any files/directories will recursively be deleted afterwards.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Using 'cuckoo clean' will not remove any files that symlinks point to

1 participant