-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadd-swap.sh
executable file
·49 lines (37 loc) · 1.48 KB
/
add-swap.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
# Demander à l'utilisateur s'il souhaite ajouter un swap et de choisir la taille
read -p "Souhaitez-vous ajouter un swap ? (Entrez non, 1, 2, 6, 8, 12 pour choisir la taille en Go) [non] : " swap_size
# Si l'utilisateur n'entre rien, utiliser "non" par défaut
swap_size=${swap_size:-non}
# Vérification de la réponse
if [ "$swap_size" == "non" ]; then
echo "Aucun swap n'a été ajouté."
exit 0
elif [[ "$swap_size" =~ ^(1|2|6|8|12)$ ]]; then
swapfile="/swapfile"
# Vérifier si le fichier swap existe déjà
if [ -f "$swapfile" ]; then
echo "Le fichier swap existe déjà. Désactivation et suppression en cours..."
# Désactiver le swap
swapoff $swapfile
# Supprimer l'entrée du swap dans /etc/fstab
sed -i "\|$swapfile|d" /etc/fstab
# Supprimer le fichier swap
rm -f $swapfile
echo "Ancien fichier swap supprimé."
fi
# Créer un fichier swap de la taille demandée
fallocate -l ${swap_size}G $swapfile
# S'assurer que le fichier a les bonnes permissions
chmod 600 $swapfile
# Configurer le fichier en tant qu'espace swap
mkswap $swapfile
# Activer le swap
swapon $swapfile
# Ajouter le swap au fichier /etc/fstab pour qu'il soit activé au démarrage
echo "$swapfile none swap sw 0 0" | tee -a /etc/fstab
echo "Un swap de ${swap_size}G a été ajouté et activé."
else
echo "Option invalide. Veuillez entrer 'non', 1, 2, 6, 8 ou 12."
exit 1
fi