什么是一种好的,安全的备份方法,对于在家进行研究和开发并且不能丢失任何工作的程序员来说?
条件:
备份必须始终在合理容易的范围内.
无法保证始终可以使用Internet连接.
解决方案必须是免费的或在合理的范围内定价,并且必须符合上述2.
现在只考虑免费选项.
答案中提出了以下开源项目(此处和其他地方):
其他可能性:
使用分布式版本控制系统(DVCS),如Git(/ Easy Git),Bazaar,Mercurial满足了在本地提供备份的需求.
使用免费的在线存储空间作为远程备份,例如:压缩您的工作/备份目录并将其邮寄到您的Gmail帐户.
策略
请参阅crazyscot的回答
我有一个包含最新数据的数据库,我想将数据库内容复制到其他一些服务器中.由于非技术原因,我无法直接使用复制功能或同步功能同步到其他SQL Server实例.
现在,我有两个解决方案,我想了解每个解决方案的优缺点.谢谢!
解决方案1:分离包含最新数据的源数据库,然后复制到需要最新数据的目标服务器,并在目标服务器上附加数据库;
解决方案2:为整个数据库创建源服务器的完整备份,然后将数据复制到目标服务器并在目标服务器端进行完全恢复.
乔治,提前谢谢
因为我正在对我的整个debian系统进行完整备份,所以我在想是否有一个/var/lib/mysql目录副本是使用mysqldump转储表的可行替代方法.
鉴于mysqldump导致导入错误的错误:
namtar backups # mysql -p < 2010-12-01.sql
Enter password:
ERROR 1062 (23000) at line 8020: Duplicate entry 'l?he?' for key 'wrd_txt'
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以告诉导入只是跳过给定的行并继续?
(是的,我知道我可以手动编辑文件或解析输出,但它不是很方便)
有人有一个将MySQL数据库导出到.sql文件的教程.我没有shell访问权限所以我无法使用.sql
我找到了这个URL:http://davidwalsh.name/backup-mysql-database-php但是我查看了代码并且这段代码很旧而且编写得不好.我查看了互联网,但对于大多数教程我需要shell访问,其余的已经过时了.
提前致谢.
我正在使用Eclipse并且已经安装了大量插件并根据我的需求进行了配置.有没有什么好方法来备份这些插件及其配置.我希望能够在期货eclipse版本(只要它们兼容)和不同的PC上重播这些插件.
我知道我可以简单归档整个eclipse/文件夹,但我发现这有点不雅.
有没有办法在指定服务器的一天中的某些时间自动备份MySQL数据库或发送带附件的电子邮件..您认为哪种方法是最好和最安全的方法?
我正在研究如何使用SQL脚本(T-SQL)还原数据库备份的步骤.以下是步骤:
数据库
YourDB有完整备份YourBackUpFile.bak.可以使用以下两个步骤恢复它:步骤1:从备份中检索数据库的逻辑文件名.
Run Code Online (Sandbox Code Playgroud)RESTORE FILELISTONLY FROM DISK = 'D:BackUpYourBackUpFile.bak' GO第2步:使用
LogicalName以下步骤中列中的值.Run Code Online (Sandbox Code Playgroud)----Make Database to single user Mode ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE ----Restore Database RESTORE DATABASE YourDB FROM DISK = 'D:BackUpYourBackUpFile.bak' WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf', MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf'
我只是对如何获得YourMDFLogicalName和的问题YourLDFLogicalName.任何人都可以帮助我吗?
我使用rsync备份我的文件.在同步之后,我运行它期望什么也看不到,但它看起来像是在跳过目录.我(显然)改名了,但我相信我仍然掌握了所有可能的信息.这里发生了什么事?
$ ls -l /source/backup/myfiles
drwxr-xr-x 2 me me 4096 2010-10-03 14:00 foo
drwxr-xr-x 2 me me 4096 2011-08-03 23:49 bar
drwxr-xr-x 2 me me 4096 2011-08-18 18:58 baz
$ ls -l /destination/backup/myfiles
drwxr-xr-x 2 me me 4096 2010-10-03 14:00 foo
drwxr-xr-x 2 me me 4096 2011-08-03 23:49 bar
drwxr-xr-x 2 me me 4096 2011-08-18 18:58 baz
$ file /source/backup/myfiles/foo
/source/backup/myfiles/foo/: directory
Run Code Online (Sandbox Code Playgroud)
然后我同步(期待没有变化):
$ rsync -rtvp /source/backup /destination
sending incremental file list
backup/myfiles
skipping non-regular file "backup/myfiles/foo"
skipping non-regular file …Run Code Online (Sandbox Code Playgroud) 我创建了我的git存储库的备份,如如何备份本地Git存储库?建议用
git bundle create /tmp/foo-all --all
Run Code Online (Sandbox Code Playgroud)
我可以看到所有的引用都在那里,包括由git-svn创建的远程引用.现在我无法弄清楚如何将此捆绑包再次恢复到本地存储库.我很确定我已经做过一次了.我尝试了git-clone,但这给了我一个只有一个存储库,我的备份包作为远程仓库.
我也试过了
git init
git bundle unbundle /tmp/foo --all
Run Code Online (Sandbox Code Playgroud)
但这只列出了所有参考资料......
验证捆绑包给出:
$ git bundle verify $somewhere/foo.bundle
The bundle contains 12 refs
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/master
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/remotes/git-svn
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEAD
The bundle requires these 0 ref
$somewhere/foo.bundle is okay
Run Code Online (Sandbox Code Playgroud)