我正在尝试编写一个PHP程序,以自动创建MySQL表的备份作为服务器上的sql文件:
$backup = "$path/$tablename.sql";
$table = "mydbname.mytablename";
exec(
sprintf(
'/usr/bin/mysqldump --host=%s --user=%s --password=%s %s --quick --lock-tables --add-drop-table > %s',
$host,
$user,
$password,
$table,
$backup
)
);
我得到的.sql文件中的所有内容都是这样的:
-- MySQL dump 10.10 -- -- Host: localhost Database: mydbname.mytablename -- ------------------------------------------------------ -- Server version 5.0.27 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, …
具体来说,我想创建一个列表的备份,然后对该列表进行一些更改,将所有更改附加到第三个列表,然后在进行进一步更改之前使用备份重置第一个列表等,直到我完成进行更改并希望将第三个列表中的所有内容复制回第一个.不幸的是,似乎每当我对另一个函数中的第一个列表进行更改时,备份也会发生变化.使用original = backup效果不佳; 也没用过
def setEqual(restore, backup):
restore = []
for number in backup:
restore.append(number)
Run Code Online (Sandbox Code Playgroud)
解决我的问题; 即使我从备份中成功恢复了列表,但每当我更改原始列表时,备份仍然会更改.
我该如何解决这个问题?
我的开发机器上只有SQL Server 2008(开发版)
我的托管公司只提供SQL Server 2005(我没有对此数据库的直接连接访问权限)
我只是想知道最好的方法是什么:
据我所知......
复制 - 不是选项,因为我无法连接到生产数据库.
恢复备份 - 不是一个选项,因为据我所见,您无法从2008年导出可恢复的数据库(即使在2005兼容模式下设置2008 DB),恢复生产也没有意义无论如何,在我的开发版本的顶部.
转储我的2008数据库中的所有脚本,从2008 - > 2005将我的开发还原到机器,然后从脚本重新创建数据库,然后使用备份和恢复将初始数据库投入生产,然后通过Web面板运行脚本那一点起
转储我的2008数据库中的所有脚本,并从生产中的脚本生成整个2005数据库.然后从那时起通过Web面板运行脚本
使用最后两个选项,我可能需要使用一些工具(我认为存在于Web上)编写所有数据插入的脚本
还有其他可能的解决方案,我没有考虑.
我想备份我的项目,但文件夹现在主要通过额外的库,如boost等超过6.6 GB,但即使我只选择我的源文件夹,我最终得到大文件,如:.ipch ,. sdf和其他潜在的人.更糟糕的是我使用eclipse编写代码并使用VS进行编译,这样就增加了混乱,尽管我的印象是只有VS创建大文件.
如果狗屎击中了粉丝,我希望能够解压缩一个档案,并在那里拥有项目设置和解决方案文件以及来源等所有内容,以便我可以在VS中轻松再次打开它.我可以忍受不得不重新下载boost或其他第三方库.
你如何解决这个问题,我需要保存像.sdf这样的文件吗?
答案:
感谢所有的提示.我现在将采用LocustHorde提出的解决方案,因为这似乎最符合我的需求.我只想要一个我可以作为安全备份的异地文件(我不想使用在线服务).存储所有文件的所有版本似乎都不会更小更简单,在这种情况下会有点矫枉过正,虽然我会安装一些版本控制系统,因为我没有使用它们的经验,我想得到一些...
最后的答案 在仔细观察后,我发现winrar归档中必须忽略哪些文件仍然是一件麻烦事.我终于出于好奇而安装了Git并且喜欢它.所以我现在在本地存储库中有一些项目.从eclipse我可以很容易地标记文件和目录被忽略,并进行备份我使用git-extensions来克隆repo.我仍然需要查看清除旧版本,这在Git中不是非常用户友好,但似乎至少可以,然后我将只是7zip文件夹.在最糟糕的情况下,我只是删除了git数据库,我只是拥有源文件的最新版本.或者也许我可以结帐到另一个目录.走着瞧.
我目前正在为iOS编写备份应用程序,我希望有一些选项让用户备份应用程序数据(其他应用程序的文档等),联系人,Safari书签以及所有有趣的东西.
我想知道这是否可能,我是怎么做的,以及这些文件的存储位置,最重要的是,如果Apple实际允许这样做.我读完了他们的文档,我没有看到任何反对它的东西.
所以我有一个批处理文件将文件夹备份到我的Google云端硬盘目录,如下所示:
C:\Program Files\WinRAR\rar.exe a -r "D:\Google Drive\Saves Backup\%DATE%.rar" "D:\Documents\My Games\"
Run Code Online (Sandbox Code Playgroud)
这会在适当的文件夹中生成一个名为30-Sep-12.rar(今天运行)的文件.
但是,我的问题是:有没有办法通过所述文件夹(D:\ Google Drive\Saving Backup)并删除超过一周的备份,由文件名确定?
我是PostgreSQL的新手,我正在寻找备份数据库.我知道有3种方法pg_dump,快照和复制以及使用WAL.您建议哪一个完整备份数据库?如果可能,请提供代码段.
当我在perl中执行以下操作时,我总是得到错误代码"0".即使例如mysql数据库不存在,或密码错误等.
@args = ("mysqldump -u root -ppassword database1 | gzip -c > /usr/local/bin/database.gzip");
system(@args) == 0
or die "Command failed: @args \nError Code: $? \n";
Run Code Online (Sandbox Code Playgroud)
我的目标是捕获mysqldump命令的任何错误,因此我可以确保备份是否成功.
我有两个文件夹,我使用命令从源文件夹备份到目标文件夹:
xcopy /E /Y /I /D
Run Code Online (Sandbox Code Playgroud)
现在我想删除目标文件夹中源文件夹中不存在的文件.
我正在尝试自动备份mysql数据库 ; 搜索了很多链接,得到了很多参考,但是甚至找不到适合我的单个选项(接受付费软件)。最后,我正在尝试此链接。
现在我有了批处理脚本(如下所示),我根据自己的凭据对其进行了编辑,但是它正在创建空的SQL文件。不知道为什么 我是MYSQL的新手,它的自动备份机制非常差。
@ECHO OFF
set TIMESTAMP=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%
REM Export all databases into file C:\path\backup\databases.[year][month][day].sql
"C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe" –-user=root –-password=xyz --all-databases --result-file="D:\dbbackup.%TIMESTAMP%.sql"
REM Change working directory to the location of the DB dump file.
C:
CD \path-to\backup\
REM Compress DB dump file into CAB file (use "EXPAND file.cab" to decompress).
MAKECAB "databases.%TIMESTAMP%.sql" "databases.%TIMESTAMP%.sql.cab"
REM Delete uncompressed DB dump file.
DEL /q /f "databases.%TIMESTAMP%.sql"
Run Code Online (Sandbox Code Playgroud)
我运行此批处理文件,它创建备份但空的sql文件。
backup ×10
mysql ×3
batch-file ×2
database ×2
mysqldump ×2
restore ×2
cmd ×1
file ×1
file-io ×1
ios ×1
list ×1
perl ×1
pg-dump ×1
php ×1
postgresql ×1
python ×1
python-3.x ×1
sql-server ×1
ubuntu ×1
xcopy ×1