존재하지 않는 파일을 프로그램에 "바인딩"

존재하지 않는 파일을 프로그램에 "바인딩"

최근에 저는 특정 상황에서 매우 유용한 아이디어를 얻었습니다. 하지만 먼저 몇 가지 간단한 설명을 해보겠습니다.

Perl에서는 변수가 사용될 때 호출되는 일부 함수에 변수를 바인딩하도록 선택할 수 있습니다. 예: "변경될 때마다 이 변수의 변경 사항을 HD에 기록합니다." 이는 많은 상황에서 매우 유용합니다. 더 자세한 설명은 perldoc를 참조하세요:http://perldoc.perl.org/functions/tie.html

그래서 저는 다음과 같은 생각을 가지고 있습니다. 일반적으로 Unix/Linux의 파일(또는 주로 ext4를 사용하지만 호기심으로 특정 파일 시스템의 파일)을 스크립트에 바인딩할 수 있습니까?

crontab은 매우 유용한 예입니다. cronjob이 많고 이에 대해 작업하는 사람이 많으면 이 파일을 자동으로 유지 관리하기가 쉽지 않습니다. 등등 매번 바꿔줘야 합니다. 여기에는 필요한 모든 정보가 저장되어 있는 데이터베이스와 데이터베이스의 정보를 크론이 이해할 수 있는 정보로 변환하는 스크립트가 있는 편리한 곳이 있습니다.

따라서 내 생각은 기본적으로 이 예에서는 crontab 파일을 갖는 대신 이를 스크립트에 연결하는 것입니다 /root/crontab.pl. OS가 crontab 자체를 찾으려고 할 때마다 다음과 같이 표시됩니다. 파일이 존재하지 않습니다. 이것저것 관련되어 있습니다. 이 스크립트를 실행해야 하며 그 출력은 파일처럼 사용됩니다." 따라서 프로그램 자체에는 완전히 투명합니다.

물론 이를 달성하는 다른 방법도 있습니다. 즉, 파일 교체, 이것저것 등이 있지만 기본 아이디어는 명확해야 합니다.

그러나 나는 주로 Perl로 프로그래밍하고 그것을 "tie"라고 부르는 데 익숙하고 그것을 설명할 다른 단어를 모르기 때문에 내 연구에서 실제로 그런 것을 발견하지 못했습니다. 내 잘못이야.

그래서 : 아무것도 없나요? 그렇지 않다면 그러한 기능에 반대되는 것이 있습니까? 나는 이것이 많은 상황에서 정말 좋을 것이라고 생각합니다.

답변1

당신이 사용할 수있는퓨즈파일 시스템의 특정 부분에 사용자 영역 후크를 제공하여 적절한 파일을 읽을 때 스크립트가 실행될 수 있도록 합니다.

답변2

어떻게 녹음하나요? 다음 시스템 관리자는 명령을 700만 번 실행했을 때 나타나는 부작용이 과도한 로그, 채워진 파티션, 커널 패닉이라는 것을 어떻게 알 수 있을까요? 이 기능은 프로그래밍과 마찬가지로 남용되기 쉽습니다. 부작용 네트워크는 작은 변화의 모든 결과를 정확하게 예측하기에는 너무 복잡하고 복잡할 수 있습니다.

관련 정보