command-line - Centos 7 创建新文件时 move 文件

标签 command-line automation centos move

有没有办法在创建新文件时将旧文件(例如 auto0) move 到另一个本地化?
我需要一些能够将自动创建的记录从游戏 move 到我的 www 文件夹的东西,以便其他人可以下载它。
我不想因为 move 未保存的文件而丢失任何数据。所以我想等待下一场比赛开始。

最佳答案

假设新文件保持打开状态,请添加 ie。这一行到 crontab:

 $ for f in $(find /tmp/src -type f); do ! lsof $f &> /dev/null && mv $f /tmp/www ; done
测试:
# from one terminal:
$ mkdir -p /tmp/{src,www} && touch /tmp/src/{one,two} && less /tmp/src/two


# execution shell: 
$ for f in $(find /tmp/src -type f); do ! lsof $f &> /dev/null && echo "mv $f /tmp/www" ; done

mv /tmp/src/one /tmp/www
如果只想保留最新的(并且没有主动打开新文件),修改find及时过滤:
for f in $(find /tmp/src -type f -printf "%T+ %p\n" | sort | awk '{print $2}' | head -n -1); do mv $f /tmp/www ; done

关于command-line - Centos 7 创建新文件时 move 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65781194/

相关文章:

android - 如何使用 cordova build --release 来使用现有的 eclipse 生成的 keystore 进行签名?

unix - 在每个 </p> 之后添加换行符

azure - 更新azure容器实例的镜像

java - 使用 javac 和命令行编译 java 文件

html - apache 无法访问 html 子目录并出现 404 错误

php - 即使所有父文件夹都是 775,fopen 也会失败(权限被拒绝)

google-chrome - “cannot get automation extension” chrome 版本错误 : 57. 0.2987.98

Objective-C:自动化

automation - Slackbot 可以从私有(private) channel 中提取消息并在另一个 Slack channel 中发布吗?

centos - 我怎样才能重新包装一个 Vagrant 盒子以得到一个更大的分区?