{"id":18576879,"url":"https://github.com/urin/dtail","last_synced_at":"2025-07-04T04:32:10.697Z","repository":{"id":151727369,"uuid":"187729646","full_name":"urin/dtail","owner":"urin","description":"Bash script to watch contents of files using inotify","archived":false,"fork":false,"pushed_at":"2025-06-28T08:35:29.000Z","size":10,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-28T09:37:47.944Z","etag":null,"topics":["bash","tail"],"latest_commit_sha":null,"homepage":"https://github.com/urin/dtail","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-20T23:58:30.000Z","updated_at":"2025-06-28T08:35:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"cc7d2f06-b7c1-4ff2-adaf-74b6e7695045","html_url":"https://github.com/urin/dtail","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/urin/dtail","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urin%2Fdtail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urin%2Fdtail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urin%2Fdtail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urin%2Fdtail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urin","download_url":"https://codeload.github.com/urin/dtail/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urin%2Fdtail/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263445728,"owners_count":23467602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","tail"],"created_at":"2024-11-06T23:26:58.698Z","updated_at":"2025-07-04T04:32:10.659Z","avatar_url":"https://github.com/urin.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"dtail - Bash script to watch contents of files using inotify\n===\n\n## Overview\n\n`dtail` is a simple bash script to watch contents of file in directories using [inotify\\-tools](//github.com/rvoicilas/inotify-tools/wiki) and `tail`.\nYou can watch any files even if they are newly created in directories.\n\n## Description\n\n`dtail` watches all files and directories trapping events CREATE, MODIFY and DELETE.\n\n`dtail` creates a `tail` process for each watching file and has a process pool that is a list of `tail` processes.\nWhen CREATE and MODIFY event of a file that is not monitored by `dtail` is fired, `dtail` starts background `tail` process and adds it to the process pool. If the pool is full, the oldest process is deleted from the pool and the tail process is killed.\n\nThe pool size, that is the maximum number of background `tail` processes, can be specified by user.\n\nEvent of a directory or file without reading permission is ignored.\n\n## Requirement\n\n- bash 3.1+\n- inotify-tools 3.7+\n\n## Usage\n\n```\nUsage: dtail [options] [--] path...\n\nOptions:\n  -r|--recursive\n    Watch subdirectories recursively.\n  --exclude  \u003cpattern\u003e | --excludei \u003cpattern\u003e\n    Exclude files if filename matches \u003cpattern\u003e (POSIX extended regular expression).\n    It is case insensitive with --excludei.\n  --fromfile \u003cfile\u003e\n    Read filenames to watch or exclude from a file, one filename per line.\n    If filenames begin with @ they are excluded as described above.\n  -p|--poolsize \u003cnum\u003e\n    Maximum number of watching processes. Default 1.\n\n```\n\n## License\n\n[MIT](/LICENSE)\n\n## Author\n\n[urin](//github.com/urin)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furin%2Fdtail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furin%2Fdtail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furin%2Fdtail/lists"}