Vb.NET kodları :

Global.asax kodları
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        Call ZamanliGorevSinifi.ZamanliAlarmBaslat()
End Sub

ZamanliGorevSinifi Class kodları
Imports System.Timers

Public Class ZamanliGorevSinifi

    Private Shared _AlarmTimer As Timer

    Public Shared Sub ZamanliAlarmBaslat()
        '7200000 = 2 saat
        '43200000 = 12 saat
        '86400000  = 1 gün (24 saat)
        _AlarmTimer = New Timer(43200000)
        AddHandler _AlarmTimer.Elapsed, AddressOf OnAlarmEvent
        _fiyatAlarmTimer.Enabled = True
    End Sub

    Private Shared Sub OnAlarmEvent(source As Object, e As ElapsedEventArgs)
        Dim th As New System.Threading.Thread(AddressOf AlarmSinifi.alarmKontrolveGonderme)
        th.IsBackground = True
        th.Start()

    End Sub

End Class

AlarmSinifi kodları
Public Class AlarmSinifi
   Public Shared Sub alarmKontrolveGonderme()
   ' kafanıza göre takılın db işlemi yapın,
   ' döviz bilgilerini çekin
   ' backup alın
   End Sub
End Class
Edit :
C# kodları :
Global.asax kodları
public void Application_Start(object sender, EventArgs e)
{
	ZamanliGorevSinifi.ZamanliAlarmBaslat();
}

ZamanliGorevSinifi Class kodları
using System.Timers;
public class ZamanliGorevSinifi
{


	private static Timer _AlarmTimer;
	public static void ZamanliAlarmBaslat()
	{
		//7200000 = 2 saat
		//43200000 = 12 saat
		//86400000  = 1 gün (24 saat)
		_AlarmTimer = new Timer(43200000);
		_AlarmTimer.Elapsed += OnAlarmEvent;
		_fiyatAlarmTimer.Enabled = true;
	}

	private static void OnAlarmEvent(object source, ElapsedEventArgs e)
	{
		System.Threading.Thread th = new System.Threading.Thread(AlarmSinifi.alarmKontrolveGonderme);
		th.IsBackground = true;
		th.Start();

	}

}

AlarmSinifi kodları
public class AlarmSinifi
{
	public static void alarmKontrolveGonderme()
	{
		// kafanıza göre takılın db işlemi yapın,
		// döviz bilgilerini çekin
		// backup alın
	}
}

Ne işe yarar : Websiteniz bir defaya mahsus herhangi bir tarayıcı ile açılınca Application başlar, site IIS üzerinden kapatılmadığı sürece belirlediğiniz Timer süresinde otomatik ve sürekli olarak (12 saat bir , 2 saat bir, felan ne kadar süre belirlediyseniz artık) çalışır ve belirlediğiniz işlemi yapar.

Bu arada C# 'a çok uyuz olurum fakat isteyen olur diye ekledim.