<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Автоматический бэкап конфигурации]]></title><description><![CDATA[<p dir="auto">Всем добрый день.</p>
<p dir="auto">У меня появилось желание бэкапить автоматом конфиг pfSense. Написал скрипт для bash, который удалённо подключается к pfSense и, собственно, нажимает кнопку "Download configuration".</p>
<p dir="auto">Возможно, кому-нибудь из вас также пригодится и сохранит время.</p>
<pre><code>
#!/bin/bash

user="user"
pass="password"
cookies="/home/vi-admin/bin/cookies/pfSense_cookies.txt"
config="/mnt/nas4free/configs/pfSense/pfSense_$(date +%F_%H-%M-%S).xml"
ip="https://192.168.1.1/"
token="/home/vi-admin/bin/cookies/pf_token"

# For pfSense 2.0
log="/home/vi-admin/bin/log_get_config_pfSense"

wget --no-check-certificate --delete-after --keep-session-cookies --save-cookies $cookies --output-file=$log --post-data="usernamefld=$user&amp;passwordfld=$pass&amp;login=Login" $ip"index.php"
wget --no-check-certificate --keep-session-cookies --load-cookies $cookies --append-output=$log --post-data="donotbackuprrd=yes&amp;Submit=download"  $ip"diag_backup.php" -O $config

# For pfSense 2.1
curl -k -s -S -L -c $cookies $ip"index.php" | grep "input type='hidden' name='__csrf_magic'" | echo $(awk '{print substr($0,120,55)}') &gt; $token &amp;&amp; csrf_magic=$(cat $token)
curl -k -s -S -L -b $cookies -d "usernamefld=$user&amp;passwordfld=$pass&amp;login=Login&amp;__csrf_magic=$csrf_magic" $ip"index.php" &gt; /dev/null
curl -k -s -S -L -b $cookies -d "donotbackuprrd=yes&amp;Submit=download" --output $config $ip"diag_backup.php" &gt; /dev/null

if [ "$( wc -c $config | awk '{ print $1 }' )" == "0" ]
then
	rm $config $cookies $token
else
	rm $cookies $token
fi

</code></pre>
<p dir="auto">Замечания и уточнения принимаются.</p>
]]></description><link>https://forum.netgate.com/topic/61675/автоматический-бэкап-конфигурации</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 17:58:33 GMT</lastBuildDate><atom:link href="https://forum.netgate.com/topic/61675.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Oct 2013 13:31:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Thu, 07 Aug 2014 10:59:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pakko">@<bdi>pakko</bdi></a>:</p>
<blockquote>
<p dir="auto">Написал скрипт для bash, который удалённо подключается к pfSense и, собственно, нажимает кнопку "Download configuration".</p>
</blockquote>
<p dir="auto">А есть скрипт или способы сделать бекап конфигурации на самом pfsense, и скопировать созданный на pfsense файл конфигурации, самим pfsensом на удаленный ftp?<br />
Потом этот скрипт поместить в cron.<br />
И еще послать емаил о fail или sucsess.</p>
<p dir="auto">Мне кажется это более логичным</p>
]]></description><link>https://forum.netgate.com/post/476301</link><guid isPermaLink="true">https://forum.netgate.com/post/476301</guid><dc:creator><![CDATA[temyshk]]></dc:creator><pubDate>Thu, 07 Aug 2014 10:59:18 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Thu, 17 Oct 2013 13:01:11 GMT]]></title><description><![CDATA[<p dir="auto">2 alexandrnew:<br />
Мне не хотелось менять/отключать стандартный функционал.</p>
<p dir="auto">Для bat-ника сам что-то похожее на рабочий вариант попробовал написать. Вот что получилось:</p>
<pre><code>
@echo off

SET user=wol
SET pass=wolwol
SET server=https://192.168.1.1/
SET wol_comp=192.168.1.43
SET cookies=cookies.txt
SET tfile1=WakeOnLAN_temp1.tmp
SET tfile2=WakeOnLAN_temp2.tmp
SET str=csrfMagicToken

curl.exe -k -L -s -S -c cookies.txt "%server%index.php" | findstr %str% &gt; %tfile1%

set /p a=&lt;%tfile1%
set csrf_magic=%a:~152,55%

curl.exe -k -L -s -S -o %tfile2% -b %cookies% -d "usernamefld=%user%&amp;passwordfld=%pass%&amp;login=Login&amp;__csrf_magic=%csrf_magic%" "%server%index.php"
curl.exe -k -L -s -S -o %tfile2% -b %cookies% "%server%services_wol.php?mac=f0:de:f1:b9:e8:3d&amp;if=lan"
curl.exe -k -L -s -S -o %tfile2% -b %cookies% "%server%index.php?logout"

DEL /F %cookies% %tfile1% %tfile2%

ECHO.
ECHO Waking up the remote computer and will start RealVNC.
ECHO Wait a minute...

:pinging
ping -n 1 -w 1 %wol_comp% | Find /I "TTL=" || goto pinging

start "Remote access via VNC" "c:\Users\Anatol\Desktop\comp1.vnc+"

exit

</code></pre>
]]></description><link>https://forum.netgate.com/post/425292</link><guid isPermaLink="true">https://forum.netgate.com/post/425292</guid><dc:creator><![CDATA[pakko]]></dc:creator><pubDate>Thu, 17 Oct 2013 13:01:11 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 15:17:51 GMT]]></title><description><![CDATA[<p dir="auto">странно.<br />
я сталкивался. не думаю что у меня бета стояла, я решал так:<br />
в services_captiveportal_vouchers_edit.php и  services_captiveportal_vouchers.php<br />
добавлял экранировал строку  $nocsrf = true;<br />
получалось: #$nocsrf = true;</p>
<p dir="auto">сами строки такие (весь скрипт не привожу, думаю понятно будет)</p>
<p dir="auto">#get cookies<br />
wget -qO/dev/null –quiet --keep-session-cookies --save-cookies ./cookies.txt --post-data "login=Login&amp;usernamefld=${pfsense_login}&amp;passwordfld=${pfsense_pass}" --no-check-certificate --timeout=10 https://${pfsense_ip}:${pfsense_port}/diag_backup.php<br />
#echo  -Download Config<br />
wget --quiet --keep-session-cookies --load-cookies ./cookies.txt --post-data "Submit=download&amp;donotbackuprrd=yes" --no-check-certificate -O ./pfsense_backup/${pfsense_name}-${pfsense_ip}-$TIMESTAMP.xml --timeout=10 https://${pfsense_ip}:${pfsense_port}/diag_backup.php<br />
}</p>
]]></description><link>https://forum.netgate.com/post/424669</link><guid isPermaLink="true">https://forum.netgate.com/post/424669</guid><dc:creator><![CDATA[alexandrnew]]></dc:creator><pubDate>Mon, 14 Oct 2013 15:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 15:15:33 GMT]]></title><description><![CDATA[<p dir="auto">Может кто-нибудь поможет переписать скрипт под cmd.exe?</p>
<p dir="auto">Цель, чтобы сотрудник удаленно будил свой комп не ходя по вкладкам pfSense, а просто запуском батника.</p>
<p dir="auto">Для версии 2.0 я использовал что-то вроде этого:</p>
<pre><code>
curl.exe -k -L -с cookies.txt -d "usernamefld=wol&amp;passwordfld=123&amp;login=Login" https://192.168.1.1/index.php &gt; WakeOnLAN_Smartpro_log.txt

curl.exe -k -b cookies.txt "https://192.168.1.1/services_wol.php?mac=f0:de:f1:b9:e8:3d&amp;if=lan" &gt;&gt; WakeOnLAN_Smartpro_log.txt
curl.exe -k -b cookies.txt "https://192.168.1.1/index.php?logout" &gt;&gt; WakeOnLAN_Smartpro_log.txt

DEL cookie.txt

ECHO Waking up the remote computer and starting RealVNC.
ECHO Wait a minute...

:pinging
ping -n 1 -w 1 192.168.1.43 | Find /I "TTL=" || goto pinging

start "Remote access via VNC" "c:\Users\user\Desktop\smart.vnc+"

</code></pre>
]]></description><link>https://forum.netgate.com/post/424666</link><guid isPermaLink="true">https://forum.netgate.com/post/424666</guid><dc:creator><![CDATA[pakko]]></dc:creator><pubDate>Mon, 14 Oct 2013 15:15:33 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 15:04:07 GMT]]></title><description><![CDATA[<p dir="auto">я только в 2.1 столкнулся. В коде привел пример прежнего скрипта.</p>
]]></description><link>https://forum.netgate.com/post/424663</link><guid isPermaLink="true">https://forum.netgate.com/post/424663</guid><dc:creator><![CDATA[pakko]]></dc:creator><pubDate>Mon, 14 Oct 2013 15:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 15:01:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pakko">@<bdi>pakko</bdi></a>:</p>
<blockquote>
<p dir="auto">В 2.1 появилась защита в виде csrf</p>
</blockquote>
<p dir="auto">Вроде в 2.0 тоже было. я на данную страницу (бекапа) его отключал в рнр файлах.</p>
]]></description><link>https://forum.netgate.com/post/424661</link><guid isPermaLink="true">https://forum.netgate.com/post/424661</guid><dc:creator><![CDATA[alexandrnew]]></dc:creator><pubDate>Mon, 14 Oct 2013 15:01:07 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 14:43:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/werter">@<bdi>werter</bdi></a>:</p>
<blockquote>
<p dir="auto">А сами <em>wget, curl</em> у вас установлены? Может после обновления pfsense до 2.1 стоит эти пакеты переустановить если они были в 2.0.х ?</p>
<p dir="auto">http://www.milliondollarserver.com/install-wget-curl-on-pfsense-freebsd/</p>
</blockquote>
<p dir="auto">я захожу из другой системы - vMA</p>
]]></description><link>https://forum.netgate.com/post/424656</link><guid isPermaLink="true">https://forum.netgate.com/post/424656</guid><dc:creator><![CDATA[pakko]]></dc:creator><pubDate>Mon, 14 Oct 2013 14:43:03 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 14:40:09 GMT]]></title><description><![CDATA[<p dir="auto">В 2.1 появилась защита в виде csrf</p>
<p dir="auto">а я как-то раньше писал похожий скрипт для бэкапа NAS4Free конфига - там похоже реализована защита web-интерфейса. Поэтому и сделал на curl по аналогии</p>
]]></description><link>https://forum.netgate.com/post/424655</link><guid isPermaLink="true">https://forum.netgate.com/post/424655</guid><dc:creator><![CDATA[pakko]]></dc:creator><pubDate>Mon, 14 Oct 2013 14:40:09 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 14:35:19 GMT]]></title><description><![CDATA[<p dir="auto">А сами <em>wget, curl</em> у вас установлены? Может после обновления pfsense до 2.1 стоит эти пакеты переустановить если они были в 2.0.х ?</p>
<p dir="auto">http://www.milliondollarserver.com/install-wget-curl-on-pfsense-freebsd/</p>
]]></description><link>https://forum.netgate.com/post/424653</link><guid isPermaLink="true">https://forum.netgate.com/post/424653</guid><dc:creator><![CDATA[werter]]></dc:creator><pubDate>Mon, 14 Oct 2013 14:35:19 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 14:24:44 GMT]]></title><description><![CDATA[<p dir="auto">А кто скажет, что поменялось в 2.1, что вгет способ не срабатывает?<br />
А по замечанию- кому то в мыло надо, кому то на фтп -там уже проще добавить пару строк кода.</p>
]]></description><link>https://forum.netgate.com/post/424651</link><guid isPermaLink="true">https://forum.netgate.com/post/424651</guid><dc:creator><![CDATA[alexandrnew]]></dc:creator><pubDate>Mon, 14 Oct 2013 14:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Автоматический бэкап конфигурации on Mon, 14 Oct 2013 14:01:11 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">который удалённо подключается к pfSense и, собственно, нажимает кнопку "Download configuration".</p>
</blockquote>
<p dir="auto">Грамотней если бы скрипт присылал письмо на мыло, а в аттаче бэкап конфига.</p>
]]></description><link>https://forum.netgate.com/post/424648</link><guid isPermaLink="true">https://forum.netgate.com/post/424648</guid><dc:creator><![CDATA[aleksvolgin]]></dc:creator><pubDate>Mon, 14 Oct 2013 14:01:11 GMT</pubDate></item></channel></rss>