【问题标题】:Cron job command for deleting subfolders of a folder once every 8 hours用于每 8 小时删除一次文件夹的子文件夹的 Cron 作业命令
【发布时间】:2018-09-13 09:06:37
【问题描述】:

我正在尝试找出精确的命令来设置自动删除 Linux 中特定文件夹的子文件夹。该作业应每 8 小时执行一次。

到目前为止我想出了什么:

find . -type d -path "./home/*****/public_html/data/*" -exec rm -rf {} \;

我尝试每分钟运行一次,但它似乎没有任何作用。 data 文件夹的所有子文件夹都应该被删除。

我做错了什么?

【问题讨论】:

    标签: linux cron jobs


    【解决方案1】:

    你可以使用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作业

    【讨论】:

      【解决方案2】:

      试试看

      find /home/*****/public_html/data -mindepth 1 -type d -exec rm -rf {} +
      

      这应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 2012-01-02
        • 1970-01-01
        • 2013-11-23
        • 1970-01-01
        • 2018-05-05
        • 2017-05-15
        • 2012-07-26
        • 1970-01-01
        • 2020-02-04
        相关资源
        最近更新 更多