Guide

Nouvelles mises à jour et améliorations de Roundfleet.

Avis important

Les exemples de code et scripts fournis dans ces tutoriels sont uniquement à des fins éducatives. Roundfleet n'est pas responsable des problèmes, dommages ou vulnérabilités de sécurité qui pourraient survenir lors de l'utilisation, modification ou implémentation de ces exemples. Toujours vérifier et tester le code dans un environnement sécurisé avant de l'utiliser dans des systèmes de production.

Supprimer Fichiers par Taille sur macOS

Apprenez à trouver et supprimer les gros fichiers sur Mac basés sur des critères de taille. Cela aide à libérer de l'espace de stockage et améliorer les performances de l'appareil quand le stockage devient faible.

Lister les Gros Fichiers

Trouvez et listez les fichiers plus grands qu'une taille spécifiée :

#!/bin/bash

# Obtenir le contexte utilisateur actuel
CURRENT_USER=$(stat -f "%Su" /dev/console)
CURRENT_USER_UID=$(id -u "$CURRENT_USER")

# Configuration
SEARCH_PATH="/Users/$CURRENT_USER/Desktop"
SIZE_LIMIT="100"  # Taille en kilooctets

echo "Recherche de fichiers plus grands que ${SIZE_LIMIT}KB dans : $SEARCH_PATH"

# Lister les gros fichiers
launchctl asuser $CURRENT_USER_UID sudo -iu "$CURRENT_USER" \
    find "$SEARCH_PATH" -type f -size +${SIZE_LIMIT}k -print

Supprimer les Gros Fichiers

Trouvez et supprimez les fichiers plus grands qu'une taille spécifiée :

#!/bin/bash

# Obtenir le contexte utilisateur actuel
CURRENT_USER=$(stat -f "%Su" /dev/console)
CURRENT_USER_UID=$(id -u "$CURRENT_USER")

# Configuration
SEARCH_PATH="/Users/$CURRENT_USER/Downloads"
SIZE_LIMIT="50"  # Taille en kilooctets

echo "⚠️  ATTENTION : Ceci supprimera définitivement les fichiers plus grands que ${SIZE_LIMIT}KB"
echo "Recherche dans : $SEARCH_PATH"

# Lister et supprimer les gros fichiers
launchctl asuser $CURRENT_USER_UID sudo -iu "$CURRENT_USER" \
    find "$SEARCH_PATH" -type f -size +${SIZE_LIMIT}k -print -delete

echo "✅ Gros fichiers supprimés avec succès"

Script de Nettoyage Amélioré

Script avec vérifications de sécurité et rapport détaillé :

#!/bin/bash

# Fonction pour nettoyer les gros fichiers en toute sécurité
cleanup_large_files() {
    local search_path="$1"
    local size_limit="$2"
    local dry_run="${3:-false}"
    
    # Obtenir le contexte utilisateur actuel
    local current_user=$(stat -f "%Su" /dev/console)
    local current_user_uid=$(id -u "$current_user")
    
    if [[ ! -d "$search_path" ]]; then
        echo "❌ Erreur : Répertoire non trouvé : $search_path"
        return 1
    fi
    
    echo "=== Nettoyage Gros Fichiers ==="
    echo "📁 Chemin : $search_path"
    echo "📏 Limite taille : ${size_limit}KB"
    echo "👤 Utilisateur : $current_user"
    echo "🔍 Test à sec : $dry_run"
    echo "==============================="
    
    # Trouver les gros fichiers
    local files_command="find '$search_path' -type f -size +${size_limit}k"
    
    if [[ "$dry_run" == "true" ]]; then
        echo "📋 Fichiers qui seraient supprimés :"
        launchctl asuser $current_user_uid sudo -iu "$current_user" \
            bash -c "$files_command -ls"
        
        local count=$(launchctl asuser $current_user_uid sudo -iu "$current_user" \
            bash -c "$files_command | wc -l")
        echo "📊 Total fichiers trouvés : $count"
    else
        echo "🗑️  Suppression des gros fichiers..."
        launchctl asuser $current_user_uid sudo -iu "$current_user" \
            bash -c "$files_command -print -delete"
        echo "✅ Nettoyage terminé"
    fi
}

# Configuration
SEARCH_PATH="/Users/$(stat -f "%Su" /dev/console)/Downloads"
SIZE_LIMIT="100"
DRY_RUN="true"  # Définir à "false" pour supprimer réellement les fichiers

# Exécuter le nettoyage
cleanup_large_files "$SEARCH_PATH" "$SIZE_LIMIT" "$DRY_RUN"

Gestion de Stockage Entreprise

Nettoyage de stockage complet pour environnements d'entreprise :

#!/bin/bash

# Configuration nettoyage stockage entreprise
CLEANUP_LOCATIONS=(
    "/Users/*/Downloads:50"
    "/Users/*/Desktop:100"
    "/Users/*/Documents:200"
    "/tmp:10"
)

# Fonction pour formater la taille des fichiers
format_size() {
    local size=$1
    if [[ $size -gt 1048576 ]]; then
        echo "$(( size / 1048576 ))GB"
    elif [[ $size -gt 1024 ]]; then
        echo "$(( size / 1024 ))MB"
    else
        echo "${size}KB"
    fi
}

# Fonction pour obtenir la taille du répertoire
get_directory_size() {
    local dir="$1"
    if [[ -d "$dir" ]]; then
        du -sk "$dir" 2>/dev/null | cut -f1
    else
        echo "0"
    fi
}

# Exécution nettoyage entreprise
echo "🏢 Nettoyage Stockage Entreprise Roundfleet"
echo "=========================================="
echo "Généré : $(date)"
echo "Appareil : $(hostname)"

total_freed=0
current_user=$(stat -f "%Su" /dev/console)
current_user_uid=$(id -u "$current_user")

for location_config in "${CLEANUP_LOCATIONS[@]}"; do
    IFS=':' read -r location_pattern size_limit <<< "$location_config"
    
    echo ""
    echo "📁 Traitement : $location_pattern (>${size_limit}KB)"
    
    # Expansion du motif pour répertoires utilisateur
    for location in $location_pattern; do
        if [[ -d "$location" ]]; then
            echo "  🔍 Scan : $location"
            
            # Obtenir taille avant
            before_size=$(get_directory_size "$location")
            
            # Trouver et supprimer gros fichiers
            deleted_files=$(launchctl asuser $current_user_uid sudo -iu "$current_user" \
                find "$location" -type f -size +${size_limit}k -print -delete 2>/dev/null | wc -l)
            
            # Obtenir taille après
            after_size=$(get_directory_size "$location")
            freed=$((before_size - after_size))
            total_freed=$((total_freed + freed))
            
            if [[ $deleted_files -gt 0 ]]; then
                echo "  ✅ Supprimé : $deleted_files fichiers"
                echo "  💾 Libéré : $(format_size $freed)"
            else
                echo "  ℹ️  Aucun gros fichier trouvé"
            fi
        fi
    done
done

echo ""
echo "=========================================="
echo "📊 Résumé :"
echo "  Espace total libéré : $(format_size $total_freed)"
echo "  Nettoyage terminé : $(date)"

if [[ $total_freed -gt 0 ]]; then
    echo "✅ Nettoyage stockage réussi"
else
    echo "ℹ️  Aucun nettoyage nécessaire - utilisation stockage optimale"
fi

Nettoyage Sécurisé avec Option Sauvegarde

Script avec sauvegarde optionnelle avant suppression :

#!/bin/bash

# Fonction pour sauvegarder gros fichiers avant suppression
backup_and_delete() {
    local search_path="$1"
    local size_limit="$2"
    local backup_enabled="${3:-false}"
    
    local current_user=$(stat -f "%Su" /dev/console)
    local current_user_uid=$(id -u "$current_user")
    local backup_dir="/tmp/roundfleet_backup_$(date +%Y%m%d_%H%M%S)"
    
    echo "🔄 Traitement : $search_path"
    
    if [[ "$backup_enabled" == "true" ]]; then
        echo "📦 Création répertoire sauvegarde : $backup_dir"
        mkdir -p "$backup_dir"
        
        # Trouver et sauvegarder gros fichiers
        launchctl asuser $current_user_uid sudo -iu "$current_user" \
            find "$search_path" -type f -size +${size_limit}k -exec cp {} "$backup_dir/" \;
        
        echo "✅ Fichiers sauvegardés dans : $backup_dir"
    fi
    
    # Supprimer gros fichiers
    local deleted_count=$(launchctl asuser $current_user_uid sudo -iu "$current_user" \
        find "$search_path" -type f -size +${size_limit}k -print -delete | wc -l)
    
    echo "🗑️  Supprimé $deleted_count gros fichiers"
    
    if [[ "$backup_enabled" == "true" && $deleted_count -gt 0 ]]; then
        echo "💡 Emplacement sauvegarde : $backup_dir"
        echo "⏰ Sauvegarde sera auto-supprimée dans 7 jours"
        
        # Programmer nettoyage sauvegarde (nécessite launchd ou cron)
        echo "find '$backup_dir' -type f -mtime +7 -delete" > /tmp/cleanup_backup.sh
        chmod +x /tmp/cleanup_backup.sh
    fi
}

# Configuration
SEARCH_PATH="/Users/$(stat -f "%Su" /dev/console)/Downloads"
SIZE_LIMIT="100"
BACKUP_ENABLED="true"

# Exécuter nettoyage sécurisé
backup_and_delete "$SEARCH_PATH" "$SIZE_LIMIT" "$BACKUP_ENABLED"

Utilisation avec Roundfleet

  1. Configurez le chemin de recherche et la limite de taille dans le script
  2. Choisissez entre mode test à sec et suppression réelle
  3. Considérez activer l'option sauvegarde pour sécurité
  4. Déployez via l'exécution de script distant Roundfleet
  5. Surveillez les résultats et l'espace libéré dans l'historique des actions

Unités de Taille et Exemples

UnitéDescriptionCas d'Usage Exemple
+50kFichiers plus grands que 50KBNettoyage petits documents
+10MFichiers plus grands que 10MBNettoyage fichiers média
+100MFichiers plus grands que 100MBNettoyage gros fichiers
+1GFichiers plus grands que 1GBNettoyage archives

Cibles de Nettoyage Communes

RépertoireLimite Taille TypiqueObjectif
Téléchargements50MBSupprimer gros téléchargements
Bureau100MBNettoyer fichiers bureau
Documents200MBArchiver anciens documents
Dossiers temp10MBNettoyage système

Considérations de Sécurité

⚠️ ATTENTION CRITIQUE : Les fichiers supprimés avec ces scripts sont définitivement supprimés et ne peuvent pas être récupérés de la Corbeille.

  • Tester d'abord : Toujours exécuter en mode test à sec initialement
  • Sauvegarder données importantes : Considérez l'option sauvegarde pour fichiers précieux
  • Vérifier chemins : Vérifiez deux fois les répertoires de recherche avant exécution
  • Contexte utilisateur : Les scripts s'exécutent dans le contexte utilisateur actuel pour sécurité

Dépannage

Permission refusée : Assurez-vous du bon contexte utilisateur avec launchctl asuser Répertoire non trouvé : Vérifiez que les chemins de recherche existent avant exécution Aucun fichier trouvé : Vérifiez les limites de taille et contenu des répertoires


Note : Validez toujours les scripts sur des systèmes de test avant déploiement en masse. La suppression permanente de fichiers nécessite une considération attentive et planification de sauvegarde.

Related Tutorials

Cacher et Révéler Fichiers et Dossiers sur macOS

Contrôlez la visibilité des fichiers et dossiers sur Mac avec commandes chflags et paramètres Finder pour sécurité renforcée et organisation.

7 juil. 2025

Analyse de Taille de Fichiers et Gestion de Stockage sur macOS

Apprenez à analyser les tailles de fichiers et dossiers, surveiller l'utilisation du disque, identifier les gros consommateurs de stockage et implémenter une gestion complète du stockage sur les appareils macOS avec des outils en ligne de commande pour une optimisation efficace du stockage.

7 juil. 2025

Déployer des Fichiers ZIP sur Mac via URLs

Apprenez à automatiser le téléchargement et l'extraction de fichiers ZIP depuis des URLs sur des appareils macOS pour le déploiement d'applications d'entreprise.

7 juil. 2025

Gestion de Stockage d'Entreprise sur macOS

Surveillez l'utilisation du disque, implémentez les politiques de stockage et optimisez les performances de stockage sur les appareils macOS avec la gestion avancée de stockage, le nettoyage automatisé et l'analytique d'entreprise pour l'infrastructure de stockage organisationnelle.

7 juil. 2025

Protection de Fichiers d'Entreprise sur macOS

Implémentez une protection complète des fichiers et applications sur les appareils macOS en utilisant les drapeaux immuables, les contrôles d'accès et les politiques de sécurité d'entreprise pour la protection des données organisationnelles.

7 juil. 2025

Gestion d'Entreprise d'Ouverture de Fichiers et Dossiers sur macOS

Guide complet pour les opérations d'ouverture de fichiers et dossiers d'entreprise sur les appareils Roundfleet avec validation de sécurité, contrôle d'applications et gestion d'accès automatisée.

7 juil. 2025

Gestion des Permissions de Fichiers et Dossiers sur macOS

Apprenez à gérer les permissions de fichiers et dossiers, comprendre les modèles de propriété, configurer les contrôles d'accès et implémenter des politiques de permissions d'entreprise sur les appareils macOS à l'aide de scripts en ligne de commande.

7 juil. 2025

Découverte et Gestion de Recherche de Fichiers sur macOS

Apprenez à trouver des chemins de fichiers, rechercher des fichiers par extension et gérer la découverte de fichiers sur les appareils macOS en utilisant des outils de recherche de fichiers avancés avec indexation, analyse de contenu et capacités de gestion de fichiers à l'échelle de la flotte.

7 juil. 2025