我试图找出精确的命令来设置以自动删除Linux中特定文件夹的子文件夹。该作业应每8小时执行一次。
到目前为止我想出了什么:
find . -type d -path "./home/*****/public_html/data/*" -exec rm -rf {} \;
我尝试每分钟运行一次,但是似乎什么也没做。
data
文件夹的所有子文件夹都应删除。
我在做什么错了?
答案 0 :(得分:0)
您可以使用python实现此目的。
创建新的python文件:
vim delete_subfolders.py
放置命令:
import os
import glob
import shutil
sub_folders_pathname = '/home/*****/public_html/data/*'
sub_folders_list = glob.glob(sub_folders_pathname)
for sub_folder_or_file in sub_folders_list:
#skip deletion if this is a file
if os.path.isfile(sub_folder_or_file):
print("found a file name {}, skip deletion".format(sub_folder_or_file))
#delete the folder
else:
shutil.rmtree(sub_folder_or_file)
print("all subfolders have been deleted!!!")
保存并退出文件
运行
python delete_subfolders.py
将python放入cron作业
答案 1 :(得分:0)
尝试
find /home/*****/public_html/data -mindepth 1 -type d -exec rm -rf {} +
这应该可以解决问题。