By default SQL Server 2008/R2 doesn't come with spShrinkLogs that used to be working in SQL Server 2000. You can run this query to add spShrinkLogs to new SQL Servers to save disk space by shrinking logs of your database.
This is for SQL Server only (VPS/Dedicated customers)

Code:
-- use spShrinkLogs command to execute this SP

USE [master]
GO

/****** Object:  StoredProcedure [dbo].[spShrinkLogs]  ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


CREATE  PROCEDURE [dbo].[spShrinkLogs] AS

SET NOCOUNT ON

DECLARE @cmd varchar(8000)
DECLARE @cmd2 varchar(8000)

DECLARE @dbName varchar(255)
DECLARE @dbLogName varchar(255)

CREATE TABLE IF NOT EXISTS #resultsHelpDB
  (databaseName varchar(255),
   databaseSize varchar(255),
   databaseOwner varchar(255),
   databaseID int,
   databaseCreatedDate varchar(255),
   databaseStatus varchar(500),
   databaseCompatLevel varchar(255))
INSERT #resultsHelpDB
  EXEC sp_helpdb

CREATE TABLE IF NOT EXISTS #resultsHelpFile
  (databaseTypeName varchar(255),
   databaseFileID int,
   databaseFileName varchar(500),
   databaseFileGroup varchar(255),
   databaseSize varchar(255),
   databaseMaxSize varchar(255),
   databaseGrowth varchar(255),
   databaseUsage varchar(255))

CREATE TABLE IF NOT EXISTS #resultsHelpFile2
  (databaseName varchar(255),
   databaseTypeName varchar(255),
   databaseFileID int,
   databaseFileName varchar(500),
   databaseFileGroup varchar(255),
   databaseSize varchar(255),
   databaseMaxSize varchar(255),
   databaseGrowth varchar(255),
   databaseUsage varchar(255))

DECLARE c1 CURSOR LOCAL FOR
  SELECT databaseName
  FROM #resultsHelpDB
  ORDER BY databaseName

OPEN c1

FETCH NEXT FROM c1
INTO @dbName

WHILE @@FETCH_STATUS = 0
  BEGIN
    SELECT @cmd = 'USE ' + quotename(@dbName) + ' exec sp_helpfile'
    INSERT #resultsHelpFile
      EXEC (@cmd)

    INSERT #resultsHelpFile2
      SELECT @dbName AS databaseName, databaseTypeName, databaseFileID, databaseFileName, databaseFileGroup, databaseSize, databaseMaxSize, databaseGrowth, databaseUsage FROM #resultsHelpFile

    DELETE FROM #resultsHelpFile

    FETCH NEXT FROM c1
    INTO @dbName

--     PRINT @dbName
  END

CLOSE c1
DEALLOCATE c1

DROP TABLE #resultsHelpFile

DECLARE c2 CURSOR LOCAL FOR
  SELECT  #resultsHelpFile2.databaseName, #resultsHelpFile2.databaseTypeName
  FROM #resultsHelpDB INNER JOIN #resultsHelpFile2 ON #resultsHelpDB.databaseName = #resultsHelpFile2.databaseName
  WHERE #resultsHelpFile2.databaseFileID = 2
--      AND #resultsHelpFile2.databaseName = 'cosmotruck'  -- TEST ONLY
  ORDER BY #resultsHelpDB.databaseName, #resultsHelpFile2.databaseFileID

OPEN c2

FETCH NEXT FROM c2
  INTO @dbName, @dbLogName

WHILE @@FETCH_STATUS = 0
  BEGIN
    SET @cmd2 = N'DECLARE @LogicalFileName sysname' + CHAR(10)
    SET @cmd2 = @cmd2 + N' DECLARE @OriginalSize int' + CHAR(10)
    SET @cmd2 = @cmd2 + N' DECLARE @DbName varchar(255)' + CHAR(10)
    SET @cmd2 = @cmd2 + N' DECLARE @Counter   INT, @StartTime DATETIME, @TruncLog  VARCHAR(500)' + CHAR(10)
    SET @cmd2 = @cmd2 + N' DECLARE @MaxMinutes INT, @NewSize INT' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' SET @MaxMinutes = 1' + CHAR(10)
    SET @cmd2 = @cmd2 + N' SET @NewSize = 1' + CHAR(10)
    SET @cmd2 = @cmd2 + N' SET @LogicalFileName = ''' + RTrim(@dbLogName) + '''' + CHAR(10)
    SET @cmd2 = @cmd2 + N' SET @dbName = ''' + RTrim(@dbName) + '''' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' SELECT @OriginalSize = size' + CHAR(10)
    SET @cmd2 = @cmd2 + N' FROM sysfiles' + CHAR(10)
    SET @cmd2 = @cmd2 + N' WHERE name = @LogicalFileName' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
print  @dbname + CHAR(10)
    SET @cmd2 = @cmd2 + N' SELECT ''Original Size of '' + @dbName + '' LOG is '' + CONVERT(VARCHAR(30),@OriginalSize) + '' 8K pages or '' + CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + ''MB''' + CHAR(10)
    SET @cmd2 = @cmd2 + N' FROM sysfiles' + CHAR(10)
    SET @cmd2 = @cmd2 + N' WHERE name = @LogicalFileName' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' DROP TABLE #DummyTrans' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' CREATE TABLE IF NOT EXISTS #DummyTrans' + CHAR(10)
    SET @cmd2 = @cmd2 + N'   (DummyColumn char (8000) not null)' + CHAR(10)
    SET @cmd2 = @cmd2 + N' SELECT  @StartTime = GETDATE(),' + CHAR(10)
    SET @cmd2 = @cmd2 + N'         @TruncLog = ''BACKUP LOG [''+ @dbName + ''] WITH TRUNCATE_ONLY''' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
--    SET @cmd2 = @cmd2 + N' PRINT "TRUNCLOG: " + @TruncLog' + CHAR(10)
    SET @cmd2 = @cmd2 + N' PRINT @TruncLog' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' DBCC SHRINKFILE (@LogicalFileName, @NewSize)' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' EXEC (@TruncLog)' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N' WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) AND (@OriginalSize * 8 /1024) > @NewSize' + CHAR(10)
    SET @cmd2 = @cmd2 + N'   BEGIN' + CHAR(10)
    SET @cmd2 = @cmd2 + N'     SELECT @Counter = 0' + CHAR(10)
    SET @cmd2 = @cmd2 + N'     WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))' + CHAR(10)
    SET @cmd2 = @cmd2 + N'       BEGIN' + CHAR(10)
    SET @cmd2 = @cmd2 + N'         INSERT #DummyTrans VALUES (''Fill Log'')' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N'         DELETE #DummyTrans' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N'         SELECT @Counter = @Counter + 1' + CHAR(10)
    SET @cmd2 = @cmd2 + N'       END' + CHAR(10)
    SET @cmd2 = @cmd2 + N'     EXEC (@TruncLog)' + CHAR(10)
    SET @cmd2 = @cmd2 + N'   END' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N'   SELECT ''Final Size of '' + @dbName + '' LOG is '' + CONVERT(VARCHAR(30),size) + '' 8K pages or '' + CONVERT(VARCHAR(30),(size*8/1024)) + ''MB''' + CHAR(10)
    SET @cmd2 = @cmd2 + N'   FROM sysfiles ' + CHAR(10)
    SET @cmd2 = @cmd2 + N'   WHERE name = @LogicalFileName' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N'   DROP TABLE #DummyTrans' + CHAR(10)
    SET @cmd2 = @cmd2 + CHAR(10)
    SET @cmd2 = @cmd2 + N'   PRINT ''LOGICAL: '' + @LogicalFileName' + CHAR(10)
    SET @cmd = 'USE ' + quotename(@dbName) + CHAR(10) + @cmd2
    EXEC(@cmd)
    EXEC(@cmd)

--    PRINT 'CMD= ' + @cmd

    FETCH NEXT FROM c2
    INTO @dbName, @dbLogName
  END

CLOSE c2
DEALLOCATE c2

DROP TABLE #resultsHelpDB
DROP TABLE #resultsHelpFile2
SET NOCOUNT OFF

GO

-- use spShrinkLogs command to execute this SP