Прямо сейчас у меня есть скрипт, который создает символические ссылки на что-то новее, чем 2 недели в общих папках в другую папку. Тем не менее, я не могу найти хорошего способа избавиться от устаревших символических ссылок в отдельности, в отличие от уничтожения всего. Мне нужно проверить целевую символическую ссылку mtime и, если она старше 2 недель, удалить саму символическую ссылку, а не связанный файл.
#!/bin/bash
source="/media/public/"
dest="/pool/new/"
if [[ ! -d $dest ]]; then
exit 1
fi
if [ `hostname` == "punk" ] && [ `uname -o` == "GNU/Linux" ]; then
#rm -f $dest/*
find -L $dest -mtime 14 -type f -exec echo "delete symlink: " {} \;
find -L $source -mtime -14 -type f -exec ln -s -t $dest {} \;
fi
Прямо сейчас первая команда find удалит цель, а не символическую ссылку.