Имам следния въпрос. Имам си скрипт, който ми чисти кеша на сайтовете, като го пусна да речем ./restart_httpd
и съдържанието в него става съответно
#!/bin/sh
echo "Stopping webservers..."
/opt/httpd/bin/apachectl stop
/opt/httpd_dev/bin/apachectl stop
/opt/httpd_proxy/bin/apachectl stop
/opt/httpd_yaniv/bin/apachectl stop
echo -n "Clearing cache: "
./clear_cache
echo "done."
echo "Starting webservers..."
/opt/httpd/bin/apachectl start
/opt/httpd_dev/bin/apachectl start
/opt/httpd_proxy/bin/apachectl start
/opt/httpd_yaniv/bin/apachectl start
echo "Done"
echo ""
Във файла clear_cache съответно има
#!/bin/sh
rm -fr /work/ejewellery/xtend/glob/*
rm -fr /work/tog/dev/ejewellery/xtend/glob/*
където трия кеша.
Няма никакъв проблем да го сложа в дейли скриптовете и да си се изпълнява. Но имам 2 основни проблема и не се сещам как да се справя в момента с тях.
Единия е, че когато скрипта спре апачетата и ако кеша е много малко, той го изчиства страшно бързо и когато тръгне да пуска апачета съответно ми казва, че са already running. А след няколко секунди вече спират, а скрипта за себе си мисли ,че ги е пуснал. Как примерно да го напрвя да изчака 5 сек и тогава да страгне да пуска апачетата?
Другия проблем е при чистенето на кеша. Съответно имам един .дб файл който съхранява сесиите на потребителите и не е много добре да го трия него. Така че да речем искам да изтрия file1.db, file1.db.lock, file2.db, file2.db.lock и съответно file3_session.db и db.lock да ги оставя без да ги трия тях.
Някой има ли идея как трябва да стане горе-долу?