Сценарий оболочки Bash проверяет папки внутри папки и удаляет 2 старыхLinux

Ответить Пред. темаСлед. тема
Anonymous
 Сценарий оболочки Bash проверяет папки внутри папки и удаляет 2 старых

Сообщение Anonymous »

Я хочу проверить папки внутри папки /backup/, которая содержит папки, например 20241127, 20241117, 20241107 и 20241027. Я создал этот сценарий оболочки bash, чтобы проверить, содержат ли они более двух папок, и удалить старые. Пожалуйста, не могли бы вы помочь мне проверить, правильно ли это, или вы можете предложить сценарий получше?

Код: Выделить всё

#!/bin/bash

# Define the parent folder
PARENT_FOLDER="/backup"

# Check if the folder exists
if [ ! -d "$PARENT_FOLDER" ]; then
echo "Error: Folder $PARENT_FOLDER does not exist."
exit 1
fi

# Find and sort the subfolders by modification time (oldest first)
folders=($(find "$PARENT_FOLDER" -mindepth 1 -maxdepth 1 -type d -printf "%T+ %p\n" | sort | awk '{print $2}'))

# Check if there are at least two folders to delete
if [ "${#folders[@]}" -lt 2 ]; then
echo "There are less than two folders. No deletion will occur."
exit 0
fi

# Delete the two oldest folders
for i in {0..1}; do
echo "Deleting folder: ${folders[$i]}"
rm -rf "${folders[$i]}"
done

echo "Two oldest folders deleted successfully."
Спасибо
С уважением

Подробнее здесь: https://stackoverflow.com/questions/792 ... 2-old-ones
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»