πŸ‡ΊπŸ‡³ Как Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΡΡ‚Π°Ρ€ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Linux

by itisgood

Поиск ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы Unix / Linux ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Они Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

  • ВрСмя доступа (-atime): ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго обращСния ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.
  • ВрСмя измСнСния (-mtime): ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго измСнСния Ρ„Π°ΠΉΠ»Π°.
  • ВрСмя измСнСния (-ctime): ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго измСнСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… для Ρ„Π°ΠΉΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π°Π² доступа ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°).

Поиск ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΡΡ‚Π°Ρ€ΡˆΠ΅ 7 Π΄Π½Π΅ΠΉ

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΈ ΡƒΠ΄Π°Π»ΠΈΠΌ Ρ„Π°ΠΉΠ» ΡΡ‚Π°Ρ€ΡˆΠ΅ 7 Π΄Π½Π΅ΠΉ.

Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Β«-mtimeΒ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find.

# find /path_to_directory -mtime +7 -type f -exec ls {}\;

2. Если ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ шаблона, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

# find /path_to_directory -name 'filenamepattern*' -mtime +7 -type f -exec ls {}\;

3. ПослС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ подтвСрТдСния Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ скрипту удалСния (это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ), Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ бСзвозвратная потСря Π΄Π°Π½Π½Ρ‹Ρ….

# find /path_to_directory -name 'filenamepattern*' -mtime +7 -type f -exec rm -fv {}\;

4. Если это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½ΠΈΠ΅ cron ΠΈ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

# ssh user@remote_ip "find /path_to_directory -name 'filenamepattern*' -mtime +7 -type f -exec rm -fv {} \; >> /tmp/backup_deletion`date +%Y%m%d`.log 2>&1"

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -mtime Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ; врСмя поиска Π² зависимости ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ измСнСния.

ВрСмя использования -atime, -mtime ΠΈ -ctime измСряСтся Π² днях.

Команда find Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, измСряСмыС Π² ΠΌΠΈΠ½ΡƒΡ‚Π°Ρ….

ΠžΠΏΡ†ΠΈΠΈ:

-Π°ΠΌΠΈΠ½ (врСмя доступа)
-mmin (врСмя ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ)
-cmin (ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ врСмя)

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти всС Ρ„Π°ΠΉΠ»Ρ‹ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ доступа Π±ΠΎΠ»Π΅Π΅ сСми ΠΌΠΈΠ½ΡƒΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

# find . -type f -amin +7 -print

ΠžΠΏΡ†ΠΈΡ -newer

ΠžΠΏΡ†ΠΈΡ -newer ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ эталонный Ρ„Π°ΠΉΠ» со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ эталонный Ρ„Π°ΠΉΠ».

НайдитС всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ совсСм Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ Ρ„Π°ΠΉΠ» file.txt:

# find . -type f -newer file.txt -print

 

Loading

You may also like

Leave a Comment