フォルダー内のファイルの作成時に名前を変更する方法はありますか?
私は数秒ごとにcronジョブを実行して次のようなことをすることができます...
find . -name "file.*" -exec sh -c 'echo mv "$1" "$(echo "$1" | sed s/file.*\$/"file-$(date).*"/)"' _ {} \;
しかし、これはサイクルの面で本当に扱いにくいようです...
それで、 incron を使用して、Sudo apt-get install incron
を実行して設定します。
私の目標:エイリアス(sendtodropbox.comアプリ)に送信された画像が添付された電子メールが、ブログの写真リポジトリに自動的にコピーされ、投稿できるようにします。
次に、簡単なbashスクリプトを作成しました。
#!/bin/bash
ls photo.JPG | while read a; do mv $a "$(echo "$a" | sed s/photo.JPG/"photo$(date +%a%b%d%H%M).jpg"/)"; done
mv photo* ~/Dropbox/Attachments /<photo repo>/
スクリプトを~/
に配置し、/etc/incron.allow
ファイルを編集してユーザー名を含めます。これらのスクリプトとファイルはすべて私のホームディレクトリにあるためです。次に、incrontab -e
を実行して、incron構成ファイルを編集する必要があります。
ここでは~/Dropbox/Attachments/ IN_MOVED_TO ~/script.sh
を使用しました(DropboxがファイルをDropboxフォルダーに配置するアクションは移動と見なされるため、IN_MOVED_TOを使用しました)
Dropboxに携帯電話から写真を電子メールで送信すると、これは瞬時に機能します。 rootとユーザー名の両方を使用してincronをテストし、それが機能することを確認しました。ユーザーとしての最初のテスト:incrontab -e
add the config:~/ IN_CREATE touch ~/test
、次に~/
に移動します。 >foo
を実行すると、test
が表示されます。