[過去ログ] くだらねえ質問はここに書き込め!Part 246 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
350
(6): 2021/12/02(木)03:29 ID:QTDCo/g3(2/6) AAS
>>348
inotify-tools には、日本語の記事が多い。
他には、GNU のdirevent もある

ただし、inotify-toolsは、個別のファイルではなく、ディレクトリ丸ごと監視する

注意。宣伝禁止ワードで書き込めないので、URL 内で改行しています

Linux inotifywait でファイルの更新を監視し、コマンドを実行する。2017
外部リンク:sym
省5
352: 350 2021/12/02(木)09:57 ID:QTDCo/g3(3/6) AAS
>>350
の、inotify-tools, 2021 の記事に書いてある

監視対象が多いとエラーになる。
適時、/proc/sys/fs/inotify/max_user_watchesの値を変更すればいい

cat /proc/sys/fs/inotify/max_user_watches #=> 8192

echo 40960 > /proc/sys/fs/inotify/max_user_watches
354: 350 2021/12/02(木)13:28 ID:QTDCo/g3(4/6) AAS
シェルスクリプトで作ってみた。
単に、1つのファイルだけを、watch するものです

確認したいファイルの更新日時を、一時的なファイルに記録しておいて、
5秒毎に、更新日時が新しくなっているか確認する

#!/bin/sh

CHECKED_FILE="abc.txt" # 確認したいファイル
# タイムスタンプを保存するための、一時的なファイル
省8
355: 350 2021/12/02(木)13:29 ID:QTDCo/g3(5/6) AAS
前からの続き

while true
do
if [ -e $CHECKED_FILE ]; then # ファイルが存在すれば

# echo -n で、出力後に改行しない。
# date -r で、ファイルの更新日時を表示する。
# %s は、UTC (1970-01-01 00:00:00) からの秒数で、%3N はミリ秒。10 + 3 桁
省17
356: 350 2021/12/02(木)14:23 ID:QTDCo/g3(6/6) AAS
このスクリプトの実行は「ctrl + c」で止めて下さい

それと、
# echo -n で、出力後に改行しない
というコメントは、関数内の「echo -n」の所です

そもそもの疑問として、

確認したいファイルの更新日時を、
一時的なファイルに記録しておく必要があるのかどうか?
省1
357
(1): 350 2021/12/03(金)01:09 ID:0c/fcjM7(1/2) AAS
修正。一時的なファイルに記録するのをやめました

#!/bin/sh

CHECKED_FILE="abc.txt" # 確認したいファイル
time_stamp_new=""
time_stamp_old=""

while true
do
省19
360: 350 2021/12/03(金)20:09 ID:0c/fcjM7(2/2) AAS
>>357
修正

># ここに、実行したいコマンドを書く。例えば、echo `date`
「echo `date`」は、shellcheck でチェックしたら、ダメだった

date が正しい使い方です。
echo を使ったり、`〜` で囲ったりするのは、いらない
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s