Нужен скрипт оболочки, чтобы найти последний файл из каталога и еженедельно перемещать его в другой

Я новичок в сценариях оболочки, и мне нужна помощь с этим. У меня есть требование переместить последний файл дампа expdp из одного каталога в другой, где он будет храниться 90 дней, а затем будет удален. Эта работа должна выполняться раз в неделю.

1
задан 25 April 2014 в 03:55

3 ответа

Создайте сценарий с чем-то вроде этого;

#!/bin/sh
mv "$(ls -t <name of your file> | head -1)" /directory/it/has/to/go
find /directory/it/has/to/go -type f -mtime 90 -exec rm {} +

Теперь мы должны создать cronjob так этот сценарий выполнения каждую неделю.

$: crontab -e

Добавляют эту строку:

0 0 * * 0 yourscript.sh >/dev/null 2>&1
0
ответ дан 25 April 2014 в 03:55

Я использовал бы crontab для планирования команды. Чтобы сделать это, выполните crontab -e и добавьте что-то как следующий как:

0 8 * * Mon  bash -c 'cd /path/to/dir; mv "$(ls -t expdp*.dump | head -1)" /another/dir/'

, Который будет искать последний файл, который соответствует expdp*.dump в /path/to/dir и перемещает его в /another/dir/. Запланированный выполнить 8:00, каждый понедельник.

0
ответ дан 25 April 2014 в 03:55

Вы могли использовать что-то вроде этого (я понятия не имею - ли это лучший способ сделать это, когда я просто соединил что-то, и это работает).

#!/bin/bash
cd /source/directory/
cp `ls -1t | head -1` /destination/directory/
0
ответ дан 25 April 2014 в 03:55

Другие вопросы по тегам:

Похожие вопросы: