SharePoint备份文件

stp文件:SharePoint的.stp文件

在做一个和SharePoint有关的项目时,由于对SharePoint的unfamiliar,所以客户发了几个后缀为.stp的文件将我纳闷了半天,不知为何物。

按常理,只知道.stp文件是3D 的一个标准交换文件,需要用AutoCAD、PRO/E或SW等三维处理软件来打开,但看客户给我的文件大小非常小,应该不可能是3D文件啊。后来Avrin告诉我stp文件是Sharepoint里的Template file时我才恍然大悟,孤陋寡闻,惭愧啊....

这里的stp文件果然是SharePoint里的模板文件,用于将SharePoint里的List或site等结构保存下来以便移植到别的SharePoint上。实际上这个stp文件是个Cab文件,可以强行更改其后缀为.cab,直接打开或解压缩后可以看到里面的文件,其中有个manifest.xml的XML文件。关于这个的具体描述在另外一篇文章《SharePoint Customization: Using WSS List Templates in SPS Areas》里说得很详细,可以参考。

一、导出stp文件

1、打开SharePoint里的网站,在"Site Actions"下选择"Site Settings",然后选择Look and Feel栏下的"Save site as template"即可;

2、在SharePoint里打开一个List,点击"Settings"下的"List Settings",在“Permissions and Management”下点击"Save List as template"即可。

二、导入stp文件创建Site及List

打开SharePoint的Home页,点击Site Actions —> Site Settings —> Modify All Site Settings,在Galleries下选择Site templates或List templates进入Site Template Gallery页或List Template Gallery页,将相应的Site stp文件或List stp文件上传到Gallery。然后在新建网站或新建List时就可以选择上传的木板进行创建。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.IO;

using Microsoft.SharePoint;
using CodeArt.SharePoint;
using CodeArt.SharePoint.CamlQuery;

namespace BackFile
{
    class Program
    {
        static void Main(string[] args)
        {

            string SPSiteUrl = ConfigurationManager.AppSettings["SPSiteUrl"];
            string SPWebUrl = ConfigurationManager.AppSettings["SPWebUrl"];
            string SPDocumentLibraryName = ConfigurationManager.AppSettings["SPDocumentLibrary"];
            string BackupPath = ConfigurationManager.AppSettings["BackupPath"];

            SPSite site = null;
            SPWeb rootWeb = null;

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (site = new SPSite(SPSiteUrl))
                {
                    using (rootWeb = site.OpenWeb(SPWebUrl))
                    {

                    }
                }
            });

            SPDocumentLibrary doclib = (SPDocumentLibrary)rootWeb.Lists[SPDocumentLibraryName];
            MakeFile(doclib.RootFolder, BackupPath);
            Console.ReadLine();

        }

        public static void MakeFile(SPFolder folder, string BackupPath)
        {
            Console.WriteLine("Current Folder:" + folder.Url);

            string folderPath = BackupPath + "\\" + folder.Url;
            if (!System.IO.Directory.Exists(folderPath))
            {
                Console.WriteLine("Create Folder:" + folder.Url);
                Directory.CreateDirectory(folderPath);
            }

            foreach (SPFile file in folder.Files)
            {
                Console.WriteLine("Create File:" + folderPath + "\\" + file.Name);
                byte[] bs = file.OpenBinary();
                File.Create(folderPath + "\\" + file.Name);
            }

            foreach (SPFolder subfolder in folder.SubFolders)
            {
                MakeFile(subfolder, BackupPath);
            }

        }
    }
}

  

时间: 2024-08-27 16:08:16

SharePoint备份文件的相关文章

SharePoint数据保护之(四)备份站点或者列表

Import site/list 上一篇说到了如何备份Site和List.Export出来的site/list(.cmp文件),要想还原的话,SharePoint并没有提供还原的页面,只能用Power shell命令还原. 找到SharePoint 2013 Management Shell,以管理员身份运行,使用import-spweb的命令: 主要的几个参数: 目标web url -Path:备份文件的路径. -UpdateVersions:如何处理目的端已经存在的version. 有三

SharePoint 2010 升级到2013时间 为了确保用户可以连接,但无法改变升级数据

SharePoint 2010 升级到2013时间 为了确保用户可以连接,但无法改变升级数据 我总结的步骤 红色请注意它们的含义. 步骤1:连接到SQL DBS 上的SharePoint 2010数据库的内容. 步骤2:设置SharePoint内容数据库的仅仅读状态为True. 步骤3:把SharePoint 2010内容数据库备份文件恢复到SharePoint 2013场. 步骤4:SharePoint内容数据库的仅仅读状态设置为False(读写). 步骤5:分离SharePoint 2010

将sharepoint 2013 网站集由基于路径命名转换到基于主机命名

由于一开始对sharepoint 了解不深,所以对基于路径和基于命令的网站集也了解不多,一开始创建网站集的时候全部创建成了基于路径的.再后来需要用到身份验证的时候,出现了很多问题,所以认真学习了一些基于主机命令的网站集创建方法,更详细的内容可以参考这里 http://technet.microsoft.com/zh-CN/library/cc424952%28v=office.15%29.aspx . 但是以前创建的内容不想重新创建新的,所以想把他升级过来.还好,sharepoint2013 有

在使用SQL server High Availability 的SharePoint 2013 Farm环境中使用Import-SPMetadataWebServicePartitionData

本文讲述笔者在在使用SQL server High Availability 的SharePoint 2013 Farm环境中使用Import-SPMetadataWebServicePartitionData遇到的问题,希望对大家有帮助. 笔者最近使用Export-SPMetadataWebServicePartitionData 从开发环境导出Metadata ,然后使用Import-SPMetadataWebServicePartitionData将Metadata 备份文件导入到使用SQ

SharePoint 2010 升级到2013时 保证用户能够连接但不能修改正升级的数据

SharePoint 2010 升级到2013时 保证用户能够连接但不能修改正升级的数据 我总结的步骤 红色请注意他们的意义. 步骤1:连接到SQL DBS 上的SharePoint 2010数据库的内容. 步骤2:设置SharePoint内容数据库的只读状态为True. 步骤3:把SharePoint 2010内容数据库备份文件恢复到SharePoint 2013场. 步骤4:SharePoint内容数据库的只读状态设置为False(读写). 步骤5:分离SharePoint 2010内容数据

如何清除SharePoint Server 配置缓存

日常运维中您可能需要清除SharePoint 2010/2013/2016中的过期配置缓存.例如,有时计时器作业往往会卡住,并在这种情况下清除缓存.您可以手动清除SharePoint配置缓存或者使用PowerShell脚本.示例中,使用SharePoint Server 2016 版本,但同样的方法适用于以前版本的SharePoint. Clearing the Configuration Cache Manually 1.停止SharePoint Timer Service. 2.在文件资源管

SharePoint 2010 数据库xxx的事务日志已满

http://www.cnblogs.com/sygwin/p/6222428.html 接到领导安排,说客户有问题 请求协助解决,对方给我展示的错误日志,如下: 数据库'WSS_Content_xxxx'的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅sy.databases中的log_reuse_wait_dec列 导致的结果是用户再也无法上传文件到文档库了. 看来一下对应的数据库文件,日志文件大的惊人,已经超过1.8T 作为老司机,理论上解决这样的问题,就是收缩数据库.可是咱是个

SharePoint 2010/SharePoint 2013 Custom Action: 基于Site Collection 滚动文字的通知.

应用场景: 有时候我们的站点需要在每个页面实现滚动文字的通知,怎么在不修改Master Page的情况下实现这个功能?我们可以使用Javascript 和 Custom Action 来实现. 创建一个Custom Action.主要使用到 Location = 'ScriptLink' 属性, 该属性可以动态的加载JavaScript 文件链接和代码块到模板页.代码如下: <Elements xmlns="http://schemas.microsoft.com/sharepoint/&

linux自动备份文件和数据库并上传到指定的远程FTP中

直接把以下脚本复制到/root/backup.sh[[email protected] ~]# chmod +x /root/backup.sh[[email protected] ~]# crontab -e00 06 * * * /root/backup.sh[[email protected] ~]# service crond restart[[email protected] ~]# chkconfig --level 2345 crond on #!/bin/bash #你要修改的地