圧縮した後gzのファイルしか残らないと思うのですが、次のアクセスログとエラーログはちゃんと出力されますか?
mvではファイルディスクリプタがそのままなので(同ディスクパティション内)次ログも書き込まれてしまいます。gzip access_log すると違うファイルが作成されるので次のログが書き込まれません。
スクリプトファイルはどのようにしたいいいでしょうか?
このサイトを参考に作成されてはどうでしょうか。
apachectl gracefulがお勧めとおもいました。
今日の時点に於いて一日前を切り取るのは面倒なので、毎日深夜にてログを作成する事をお勧めします。
例えばlinuxであれば、cronで0時に起動して日付の付いたログを作成する方法が考えられます。
<httpd_rotate.sh>
#!/bin/sh
DAY=$(date -d '-1 day' +%Y%m%d)
cd /home/user/log
mv access_log access_log.$DAY
mv error_log error_log.$DAY
/usr/sbin/apachectl graceful
sleep 60
gzip access_log.$DAY
gzip error_log.$DAY
apache起動ユーザのcrontabに登録
0 0 * * * /home/hoge/httpd_rotate.sh >/dev/null 2>&1
apachectlの場所は、find / -name apachectl で探してみてください。
sleepの長さはapachectlが終了以上の充分な値を設定します。