Команда задания Cron для удаления подпапок папки каждые 8 ​​часов - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь найти точную команду для настройки автоматического удаления подпапок определенной папки в Linux.Задание должно выполняться раз в 8 часов.

То, что я до сих пор придумал:

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

Я пытался запускать его раз в минуту, но, похоже, ничего не получалось,Все подпапки папки data должны быть удалены.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Попробуйте с

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

Это должно сработать.

0 голосов
/ 13 сентября 2018

Вы можете использовать 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!!!")

сохранить и выйти из файла

run

python delete_subfolders.py

Поместить питона в задание cron

...