Aqui está uma solução criada em torno do utilitário inotifywait
. (Você poderia usar incron
também, mas ainda precisaria de um código semelhante a este.) Execute isso no momento da inicialização, por exemplo, de /etc/rc.local
.
#!/bin/bash
#
cd /path/to/samba/folder
# Rename received files to this prefix and suffix
prefix="some_prefix"
suffix="pdf"
inotifywait --event close_write --format "%f" --monitor . |
while IFS= read -r file
do
# Seconds since the epoch
s=$(stat -c "%Y" "$file")
# Convert to YYYY-MM-DD
ymd="$(date --date "@$s" +'%Y-%m-%d')"
# Rename the file. Mind the assumed extension
mv -f "$file" "${prefix}_$ymd.$suffix"
done
Não sei o que você espera que aconteça se houver dois ou mais arquivos criados no mesmo dia. No momento, o mais recente (e processado) substituirá qualquer arquivo anterior da mesma data.