需要一个 shell 脚本来每周从目录中查找最新文件并将其移动到另一个目录中

需要一个 shell 脚本来每周从目录中查找最新文件并将其移动到另一个目录中

我是 shell 脚本的新手,我需要一些帮助。我需要将最新的 expdp 转储文件从一个目录移动到另一个目录,该文件将保留 90 天,然后删除。这项工作应该每周运行一次。

答案1

创建类似这样的脚本;

#!/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

答案2

我会用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 点运行。

答案3

您可以使用类似这样的东西(我不知道这是否是最好的方法,因为我只是把一些东西放在一起而且它正在工作)。

#!/bin/bash
cd /source/directory/
cp `ls -1t | head -1` /destination/directory/

相关内容