Projet

Général

Profil

Paste
Télécharger (885 octets) Statistiques
| Branche: | Révision:

root / bin / flush-files.sh @ 8550e097

1 d52a5b2f jenselme
#!/bin/sh
2
3
help="# ARGS: number of files to keep, [email address]\n
4 5185f38b Julien Enselme
# usage: flush files from a folder except a number equal to argument.\n
5 87504d03 Florent Torregrosa
# It only prints a warning if scripts-utils.sh is not imported in order to be used
6
# from the terminal."
7 d52a5b2f jenselme
8
# Check if scripts-utils.sh is imported.
9 3e9236bd Julien Enselme
if [ -z "${scripts_utils}" ] ; then
10 d52a5b2f jenselme
    echo "Import of scripts-utils.sh required."
11
    . scripts-utils.sh
12
fi
13
14 3e9236bd Julien Enselme
check_arguments "$#" 1 "$help"
15 d52a5b2f jenselme
16 3e9236bd Julien Enselme
# Must not be quoted to avoid problem with ((…))
17 683f57f9 Julien Enselme
backups_number=$(ls | wc -l)
18 3e9236bd Julien Enselme
((number_of_backups_to_delete = backups_number - $1))
19 d52a5b2f jenselme
20 3e9236bd Julien Enselme
if [ "${number_of_backups_to_delete}" -gt 0 ] ; then
21
    ls | head "-${number_of_backups_to_delete}" | xargs rm
22 d52a5b2f jenselme
else
23 3e9236bd Julien Enselme
    if [ ! -z "$2" ] ; then
24 8550e097 Julien Enselme
        dir=$(pwd)
25 3e9236bd Julien Enselme
        echo "There are not enough files in $dir to Flush it. Check if backup script works fine." | mail -s "[db] $dir has a backup problem" "$2"
26 d52a5b2f jenselme
    fi
27
fi