Домой Учебники по Linux и Unix Как автоматически удалять папки / tmp в Linux? Скрипт автоматической очистки журнала...

Как автоматически удалять папки / tmp в Linux? Скрипт автоматической очистки журнала дисков

1181
0

Содержание

Вот простой скрипт, который будет выполнять автоматическую очистку журнала диска для любой среды Linux . Вы просто должны предоставить правильный CRUNCHIFY_TMP_DIRS . Когда на диске не осталось свободного места, могут возникнуть всевозможные проблемы.

Но перед этим давайте разберемся с некоторыми важными командами.

1. df -H

Использовать df команда для отображения информации об общем и доступном пространстве в файловой системе. Параметр FileSystem указывает имя устройства, на котором находится файловая система, каталог, в котором смонтирована файловая система , или относительный путь к файловой системе.

Если вы не укажете параметр FileSystem, команда df отобразит информацию обо всех смонтированных в настоящее время файловых системах. Если указан файл или каталог, то команда df отображает информацию о файловой системе, в которой он находится.

Выход:

1
2
3
Filesystem Размер Используется Свободна Емкость iused ifree % Iused Устанавливается на
/ dev / disk0s2      499G    114g    385г      23 % 27868719 94059510    23 %    /
DEVFS            189k    189k      0B    100 %        640          0    100 %    / dev

2. Далее отфильтруйте файловую систему и выясните процент места

1
Д.Ф. H | Grep VE '^ Filesystem | TMPFS | CDROM' | AWK '{print $ 5 $ 1}'

Выход:

1
2
23 % / dev / disk0s2
100 % DEVFS

Поэтому иногда программным способом вы можете захотеть очистить файлы из определенных папок, если вам не хватило места. В этом случае вам просто нужно выполнить приведенный ниже сценарий, и он позаботится об очистке всех неиспользуемых файлов на основе критериев фильтрации, указанных в сценарии. Он также отправляет электронное письмо пользователю, указанному в скрипте.

Другой должен прочитать:

Полный сценарий Linux DiskCleanup:

Diskclean-Linux.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#! / bin / Баш
# Diskclean-Linux.sh — Удалить неиспользуемые файлы из каталогов / tmp
# @author: Crunchify.com
# ————- Вот настройки по умолчанию ———————
# CRUNCHIFY_TMP_DIRS — Список каталогов для поиска
# DEFAULT_FILE_AGE — # дней назад (округлено) к этому файлу последний раз обращались
# DEFAULT_LINK_AGE — # дней назад (округлено), когда в последний раз открывалась символическая ссылка
# DEFAULT_SOCK_AGE — # дней назад (округлено), к которому был последний доступ к сокету
CRUNCHIFY_TMP_DIRS = / tmp / var / tmp / usr / src / tmp / mnt / tmp
DEFAULT_FILE_AGE = + 2
DEFAULT_LINK_AGE = + 2
DEFAULT_SOCK_AGE = + 2
# Сделайте EMPTYFILES true для удаления файлов нулевой длины
EMPTYFILES = false
# EMPTYFILES = верно
CD
/ tmp / log cleantmp.sh [$$] — начать очистку каталогов tmp
эхо «»
эхо msgstr удалить все файлы tmp старше 2 дней
/ usr / bin / find $ CRUNCHIFY_TMP_DIRS                                /
     глубина                                                      /
     тип е а время $ DEFAULT_FILE_AGE                          /
     печать удалить
эхо «»
эхо msgstr удалить любые старые символические ссылки tmp
/ usr / bin / find $ CRUNCHIFY_TMP_DIRS                                /
     глубина                                                      /
     тип L а время $ DEFAULT_LINK_AGE                          /
     печать удалить
эхо «»
если / usr / bin / $ EMPTYFILES ;
затем
эхо удалить все пустые файлы
/ usr / bin / find $ CRUNCHIFY_TMP_DIRS                                /
     глубина                                                      /
     тип е а пусто                                            /
     печать удалить
фи
эхо «Удалить все старые сокеты Unix»
/ usr / bin / find $ CRUNCHIFY_TMP_DIRS                                /
     глубина                                                      /
     тип s а время $ DEFAULT_SOCK_AGE а размер 0              /
     печать удалить
эхо
эхо msgstr удалить все пустые каталоги (кроме потерянных + найденных)
/ usr / bin / find $ CRUNCHIFY_TMP_DIRS                                /
     глубина mindepth 1                                          /
     тип d а пусто а ! имя «потерял + нашли»                    /
     печать удалить
эхо «»
/ usr / bin / logger cleantmp.sh [$$] — Завершено очистка каталогов tmp
# отправить электронное письмо о действии diskcleanup
почта с «Очистка диска выполнена успешно.» вы @ адрес электронной почты .com
эхо «»
эхо «Сценарий Diskcleanup успешно выполнен»
выход 0

Надеюсь это поможет. Если у вас есть какие-либо вопросы по вышеуказанному сценарию, дайте мне знать. Любые предложения приветствуются. Скрипт работает под Linux и Mac OS X.

ЧИТАТЬ ТАКЖЕ:  Linux и Curl: как использовать Bash для чтения файла строка за строкой и выполнить команду Curl для получения HTTP-кода ответа

Хотите запустить выше сценарий every 3 days ? Просто используйте ниже расписание cron Подробное руководство по Setting up CronJobs уже в пути Пожалуйста, не переключайтесь.

1
0 0 * / 3 * * / opt / crunchify / crunchify_script . ш
Как автоматически удалять папки / tmp в Linux? Скрипт автоматической очистки журнала дисков

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь