Deleting files¶
Individual files can be deleted using the rm
command, for large amounts of
files it is faster to use rsync
instead.
This table compares the speed of deletion using three different methods for a directory in $TMPDIR containing 500000 files:
find exec rm | find delete | rsync delete |
---|---|---|
9m8.274s | 0m17.378s | 0m12.313s |
As can be seen rsync
is significantly faster than using rm
directly.
Using rsync to delete files¶
Files in a directory can be deleted via rsync
with the following commands:
# Create an empty directory
mkdir empty_dir
# Copy empty directory over target directory
rsync -a --delete empty_dir/ <target_dir>/
# Clean up by removing both directories
rmdir <target_dir> empty_dir
This should be submitted as a job so the frontend nodes are not overloaded:
#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 1
#$ -l h_rt=1:0:0
#$ -l h_vmem=1G
TARGET_DIR=example_directory
mkdir empty
time rsync -a --delete empty/ ${TARGET_DIR}/
rmdir empty ${TARGET_DIR}