私はこのコードを使ってcronjobをcrontabに書き込むPHPコードを持っています。PHPを使って一時ファイルに書き込まずにcrontabに書き込む方法
$output = shell_exec('crontab -l');
file_put_contents('/tmp/crontab.txt', $output . $command . PHP_EOL . PHP_EOL);
exec('crontab /tmp/crontab.txt');
これは100%よく機能します。しかし問題は、多くのユーザーがアプリケーションにアクセスするため、ファイルが上書きされないことです。もし上書きされなければ、私は他の問題があると確信しています。
私の質問は、cronの内容を一時ファイルに書き込まずに、単一のコマンドを使ってcrontabに書き込む/追加する方法です。
echo "cron here" > crontab
のようなものを試しましたが、動作しませんでした。
複数のユーザーが同時にこのコードを使用する可能性がある場合は、スレッドセーフにして、セッションIDを.txtファイルの名前に追加してみてください。しかし、あなたは正しいです、任意の一時ファイルを使用しない解決策がなければなりません:) – Random
'file_get_content'を使ってファイルを読み込んだ後、ファイルに書き直すだけですか? – bugscoder
@Randomはいこれを行うには、単一のBASH/Shellコマンドが好きです。一時ファイルを書き込むのではなく、 – Umair