◆ daily で rotate する場合
◆ 初回実行(state ファイルに日時なし)は state ファイルに日時が追記されるだけ
  ◆ rotate はされない
◆ state ファイルの日時があって次の日以降なら rotate される

初日は rotate されない

設定翌日に見て rotate されてないな と思って調べてみたら 1 日目は rotate されないみたいです
前回実行の情報が state ファイルに保存されていて それから 1 日経っていたら rotate が実行されます
初回は state ファイルに情報がないので rotate はなしで state ファイルに追記だけでした

rotate するタイミングは深夜にして 1 日に設定してログを出力するプロセスを起動します

2 日にログを見ると → rotate 無しで 1 日と 2 日の分が含まれる
3 日にログを見ると → 1 日と 2 日の分が別ファイルになっていて 3 日分が最新のログファイル含まれる

という動きです

初日も rotate させたいなら state ファイルに前日分の日付で追記しておけば rotate されます
state ファイルには rotate 対象のファイルごとの前回の rotate が起きた日時が書かれます
なので 11/2 に 11/1 分を rotate してほしいなら 11/1 の日付で rotate されたということを state ファイルに書いておきます
/opt/test/file が rotate 対象なら

logrotate state -- version 2
"/opt/test/file" 2020-11-1-3:0:0

という感じです

ファイルが空なら rotate 処理がスキップされて日付も更新されないので 前日以前の日付ならなんでもいいはずです

試してみる

logrotate は時間が来なくても コマンド実行だけで試せるので 試してみます

/home/user1/lr/

を今回のファイル置き場にします

[conf]
/home/user1/lr/test {
daily
rotate 5
dateext
copytruncate
notifempty
}

rotate 対象は test ファイルです
適当に中身を作ります

user1@s04 ~/lr> echo aaa > test

logrotate を実行します
state ファイルは同じフォルダ内に作ります

user1@s04 ~/lr> logrotate conf -s state
user1@s04 ~/lr> ls
conf state test
user1@s04 ~/lr> cat state
logrotate state -- version 2
"/home/user1/lr/test" 2020-11-2-13:0:0

rotate はされず test ファイルはそのままです
state ファイルが作られて 実行時刻が追記されました

今度は 最初から state ファイルに 前日の日付が含まれる状態でやってみます
test ファイルは変更なかったので state ファイルだけ下のように変更してから もう一度 logrotate を実行します

logrotate state -- version 2
"/home/user1/lr/test" 2020-11-1-13:0:0

user1@s04 ~/lr> logrotate conf -s state
user1@s04 ~/lr> ll
合計 12K
-rw-r--r-- 1 user1 user1 91 11月 2 13:09 conf
-rw-r--r-- 1 user1 user1 70 11月 2 13:35 state
-rw-r--r-- 1 user1 user1 0 11月 2 13:35 test
-rw-r--r-- 1 user1 user1 4 11月 2 13:35 test-20201102
user1@s04 ~/lr> cat state
logrotate state -- version 2
"/home/user1/lr/test" 2020-11-2-13:35:23
user1@s04 ~/lr> cat test-20201102
aaa
user1@s04 ~/lr> cat test

新しいファイルが作られ rotate されています
state ファイルの時刻は初回とは違って正確な時刻まで入ってます

試したバージョンは logrotate 3.15.1 です