我试图了解是否可以在数据库备份中包含未记录的表。
http://www.postgresql.org/docs/9.3/static/sql-createtable.html
这里解释了崩溃表被截断(如预期),但没有提到备份或每日“屏幕截图”。
有人有一些经验吗?
我正在使用 PostgreSQL 9.2。
开发时,我需要提取最新的数据库,以便我知道我正在使用最新的数据。然而,我们保留了一张装满档案的桌子,我不需要费心下载,因为它是一张非常大的桌子。
我知道 pg_dump 允许自定义参数,让您排除某个表被转储。
如果不做任何疯狂的事情,比如拥有 2 个数据库,1 个用于数据,1 个用于档案,有没有办法从 Heroku 下载除了档案表之外的所有内容?
我仍然需要它来保存档案表的备份,但我不想下载它。我可以在需要时独立于备份进行 pg_dump 吗?
我知道这是一个很遥远的事情,但任何建议将不胜感激。
我想使用 git 作为备份和记录我在桌面上使用的软件的配置文件的更改历史记录的方法。这将是本地安装了 git 的本地存储库。
然而我不确定这些:
是否可以将文件添加到存储库,就好像它位于与真实路径不同的路径中一样?
我担心的是,如果我天真地添加文件,通过将它们复制到存储库并更新存储库,我最终会为每个文件使用双倍的空间。虽然它不会占用太多空间,但我仍然更喜欢更干净的解决方案。我已经调查过
git-add,git-mv但git-filter-branch他们似乎没有为此提供一个干净的解决方案。add和机制都mv可以用来完成这个任务,但并不能真正解决复制文件的问题。filter-branch对于这项任务来说,锤子似乎太大了。
添加文件后是否可以更改文件路径?
git-filter-branch似乎能够做到这一点,但我不确定副作用。
假设 git 无法满足我明确需要的功能,符号链接或硬链接是否可以避免复制文件的需要?这可以跨平台工作吗?或者 git 在不同平台上处理链接的方式不同吗?
2017 年编辑 - 接受了我得到的答案,因为现在我更好地了解了 git,我意识到没有比复制文件或在祖父母目录中拥有 git 存储库更好的解决方案了。这样做的不优雅意味着复制文件是最佳解决方案,而符号链接/硬链接与此问题无关。这些评论和答案可能对寻找类似但不相同的东西的人有用,所以我鼓励检查这些内容。
通过运行sudo gitlab-rake gitlab:backup:create我们可以手动为 Gitlab 创建备份。但是有什么方法可以定期(例如每天或每月)进行 Gitlab 备份。
PS:我希望备份文件位于本地文件夹而不是任何云存储中
我有一个 mongoDB 的 docker 镜像。我想制作一个备份生产数据的脚本,并将其恢复到我的本地计算机中,这样我就可以拥有类似于生产的开发环境。
这是我的一部分docker-compose.yml
mongo:
image: "mongo:latest"
container_name: "espace_client_mongo"
volumes:
- mongo-data:/data/db
Run Code Online (Sandbox Code Playgroud)
我想导出mongo-data卷中包含的数据。
文件指出我可以这样做:
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
Run Code Online (Sandbox Code Playgroud)
但我无法让它发挥作用。
当我运行它时,我得到:
ec2-user@espace-client-prod prod]$ docker run --rm --volumes-from espace_client_mongo -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar ./backup
tar: ./backup/backup.tar: file is the archive; not dumped
./backup/
./backup/Caddyfile
./backup/docker-compose.yml
[ec2-user@espace-client-prod prod]$ ls
backup.tar Caddyfile docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
它将把当前文件夹中的文件放入备份文件夹中。这不是我想要的。我想将docker卷的内容放在备份文件夹中。我误解了什么吗?
编辑:我想使用 mongo 工具( mongodump 和 mongorestore )备份和恢复数据
Firestore 新手,真的很喜欢使用它,但我遇到的一个问题是,我看不到一种明显的方法来备份给定项目的整个数据库,其想法是,如果出现任何问题,我可以用备份覆盖节点。
backup firebase google-cloud-platform google-cloud-firestore
我有一个用SQL Server 2005创建的数据库并创建了一个备份(*.bak)现在我想用2008恢复它但是哎呀,我收到以下错误:
TITLE: Microsoft SQL Server Management Studio
------------------------------
Restore failed for Server 'SHIMMY-PC\SQLEXPRESS'. (Microsoft.SqlServer.SmoExtended)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
System.Data.SqlClient.SqlError: The media set has 2 media families but only 1 are provided. All members must be provided. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
Run Code Online (Sandbox Code Playgroud) backup sql-server-2005 database-restore sql-server-2008-express
我想用这个C#代码进行数据库备份:
connect = new SqlConnection(con);
connect.Open();
// Execute SQL
SqlCommand command = new SqlCommand
(
@"backup database MY_database to disk='d:\SQLBackup\wcBackUp1.bak' with init, stats=10",
connect
);
command.ExecuteNonQuery();
connect.Close();
Run Code Online (Sandbox Code Playgroud)
当我运行它时,会出现以下错误消息:
无法打开备份设备'd:\ SQLBackup\wcBackUp1.bak'.操作系统错误3(系统找不到指定的路径.).
如果我改变d:\wcBackUp1.bak它的路径似乎没问题,没有错误,但文件不存在,它没有生成.
如果我在SQL中运行命令,我会收到100%处理的消息,但是我没有看到该文件.
有人可以帮帮我吗?
我想在我的应用程序中有一个链接,允许我下载我的数据库的转储.(点菜的phpmyadmin,没有获取保存在服务器上).
(我以为我会用php:// temp来避免在服务器上保存东西)
但是如何创建转储文件?我看到它的方式我有两个选择:
1]使用system()和mysqldump
$command = `mysqldump -u [username] -p [password] [databasename] | gzip > db.sql.gz`;
Run Code Online (Sandbox Code Playgroud)
但是如何在php:// temp上编写转储?
2]自己创建文件并将其写入php:// temp
$tables = mysql_query ("SHOW TABLES");
while ($i = mysql_fetch_array($tables))
{
$i = $i['Tables_in_'.$dbname];
$create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i));
echo("\n# -------------------------------------------------------- \n");
echo("\n# \n# Table structure for table `".$create['Table']."` \n# \n");
echo("\n".$create['Create Table'].";\n\n");
echo("# \n# Dumping data for table `".$create['Table']."` \n# \n\n");
$sql = mysql_query ("SELECT * FROM ".$i);
if (mysql_num_rows($sql)) {
while ($row …Run Code Online (Sandbox Code Playgroud)