30.07.2011 18:46
OlegON
 
Понадобилось мне для ошибок ORA сгенерировать sitemap, чтобы скормить его Google и Yandex. Сначала сделал просто, посмотрел первую и последнюю ошибку (номер) и накидал скриптик.
Код:
#!/bin/bash
echo '<?xml version="1.0" encoding="UTF-8"?>' >yora-sitemap1.xml
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >>yora-sitemap1.xml
for ((a=1; a <=20000; a++))
do
b=`printf "%05d" $a`
echo '<url>' >>yora-sitemap1.xml
echo "<loc>https://olegon.ru/ora-$b.htm</loc>" >>yora-sitemap1.xml
echo "<changefreq>monthly</changefreq>" >>yora-sitemap1.xml
echo '</url>' >>yora-sitemap1.xml
done
echo '</urlset>' >>yora-sitemap1.xml
gzip yora-sitemap1.xml
exit

echo '<?xml version="1.0" encoding="UTF-8"?>' >yora-sitemap2.xml
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >>yora-sitemap2.xml
for ((a=20001; a <=40000; a++))
do
b=`printf "%05d" $a`
echo '<url>' >>yora-sitemap2.xml
echo "<loc>https://olegon.ru/ora-$b.htm</loc>" >>yora-sitemap2.xml
echo "<changefreq>monthly</changefreq>" >>yora-sitemap2.xml
echo '</url>' >>yora-sitemap2.xml
done
echo '</urlset>' >>yora-sitemap2.xml
gzip yora-sitemap2.xml

echo '<?xml version="1.0" encoding="UTF-8"?>' >yora-sitemap3.xml
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >>yora-sitemap3.xml
for ((a=40001; a <=60025; a++))
do
b=`printf "%05d" $a`
echo '<url>' >>yora-sitemap3.xml
echo "<loc>https://olegon.ru/ora-$b.htm</loc>" >>yora-sitemap3.xml
echo "<changefreq>monthly</changefreq>" >>yora-sitemap3.xml
echo '</url>' >>yora-sitemap3.xml
done
echo '</urlset>' >>yora-sitemap3.xml
gzip yora-sitemap3.xml

echo '<?xml version="1.0" encoding="UTF-8"?>' >yora-sitemap-indx.xml
echo '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >>yora-sitemap-indx.xml
echo '   <sitemap>' >>yora-sitemap-indx.xml
echo '      <loc>https://olegon.ru/yora-sitemap1.xml.gz</loc>' >>yora-sitemap-indx.xml
echo '   </sitemap>' >>yora-sitemap-indx.xml
echo '   <sitemap>' >>yora-sitemap-indx.xml
echo '      <loc>https://olegon.ru/yora-sitemap2.xml.gz</loc>' >>yora-sitemap-indx.xml
echo '   </sitemap>' >>yora-sitemap-indx.xml
echo '   <sitemap>' >>yora-sitemap-indx.xml
echo '      <loc>https://olegon.ru/yora-sitemap3.xml.gz</loc>' >>yora-sitemap-indx.xml
echo '   </sitemap>' >>yora-sitemap-indx.xml
echo '</sitemapindex>' >>yora-sitemap-indx.xml
но получился слишком густой выхлоп, очень много линков на несуществующие файлы, вооружился другой версией
Код:
#!/bin/bash
echo "index maker"
grep -E "^[0-9]{5}, " oraerr | awk '{ print $1; }' >oerror_tmp.tmp
echo '<?xml version="1.0" encoding="UTF-8"?>' >ora-sitemap.xml
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >>ora-sitemap.xml
echo "error finder"
for ((a=1; a <=60100; a++))
do
b=`printf "%05d" $a`
if grep -m 1 "$b," oerror_tmp.tmp
then
echo '<url>' >>ora-sitemap.xml
echo "<loc>https://olegon.ru/ora-$b.htm</loc>" >>ora-sitemap.xml
echo "<changefreq>monthly</changefreq>" >>ora-sitemap.xml
echo '</url>' >>ora-sitemap.xml
fi
done
echo '</urlset>' >>ora-sitemap.xml
rm oerror_tmp.tmp
gzip ora-sitemap.xml
результат тут, сначала создается файлик из файла ошибок, чтобы грепилось побыстрее.
Часовой пояс GMT +3, время: 19:10.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.