我是 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/