Articles of 备份

在本地机器上通过ssh创build和更新存档

我试图find一种方法来创build和更新远程系统上的文件的tar档案,我们没有写权限(远程文件系统是只读的)通过SSH。 我发现创build一个档案的方法是, ssh user@remoteServer "tar cvpjf – /" > backup.tgz 不过,我想知道是否有某种方式从这一点上只执行增量备份(只有实际上已更改的文件?)。 任何帮助,这是非常感谢。

如何使RabbitMQ更可靠? 是否有可能定期备份其数据(消息)?

我想确保在RabbitMQ不会丢失,如果它崩溃。 有可能以某种方式让RabbitMQ转储或备份磁盘上的所有队列? 我也听说,一旦它收到消息,即使它崩溃,当它的消息将可用。 那么您推荐如何使该过程更可靠?

强制rsync比较本地文件而不是校验和

我写了一个Bash脚本来备份一个文件夹。 脚本的核心是一个rsync指令 rsync -abh –checksum /path/to/source /path/to/target 我正在使用–checksum因为我不想依赖文件大小或修改时间来确定是否需要备份源path中的文件。 但是,大部分(如果不是全部的话)我在本地运行这个脚本的时候,也就是说,连接了包含备份目标文件夹的外部USB驱动器; 没有networking备份。 因此,不需要增量转换,因为两个文件将被完全由同一台机器读取和处理。 在这种情况下,计算校验和甚至会降低速度。 如果rsync只是将这些文件都存储在本地,那么会更好。 在阅读manpage后,我偶然发现了–whole-file选项,这似乎避免了昂贵的校验和计算。 该联机帮助页还指出,如果源和目标是本地path,则这是默认值。 所以我想改变我的rsync语句 rsync -abh /path/to/source /path/to/target 请问rsync现在会逐字节检查本地源文件和目标文件,还是使用修改时间和/或大小来确定是否需要备份源文件? 我绝对不想依靠文件大小或修改时间来决定是否应该进行备份。 UPDATE 注意rsync指令中的-b选项。 这意味着目标文件将被replace之前备份。 所以, 盲目地 rsync来源文件夹中的所有文件,例如通过提供注释中build议的–ignore-times ,不是一个选项。 这会造成太多的重复文件和浪费的存储空间。 请记住,我正试图减less本地机器上的备份时间和工作量。 只是备份一切就会挫败这个目的。 所以我的问题可以改写为rsync能够逐字节地进行文件比较?

shell脚本rsync密码文件选项

在shell脚本中如何使用rsync –password-file选项 rsync -a root@123.123.12.3:/root /backup

innobackupexstream焦油和运行从PHP

我试图在PHP中创build一个备份脚本,但不能使其工作.. 首先我试图从命令行运行这个: innobackupex –user=root –password=xxx –databases="dbtest" /var/www_backup 它工作并转储目录中的所有数据库文件 然后我从命令行尝试了这个: innobackupex –user=root –password=xxx –databases="dbtest" –stream=tar ./ | gzip -c -1 > /var/www_backup/`date +%Y-%m-%d-%H-%M-%S`.tar.gz 它创build了一个.tar.gz文件,但打开文件时只包含一个backup-my.cnf ..?! backup-my.cnf的文件大小约为244字节,但整个.tar.gz文件大约为2mb! 这没有意义…文件有问题.. 然后我尝试从networking服务器运行第一个工作命令 $syntax = 'innobackupex –user='.$mysql_user.' –password='.$mysql_pass.' –databases="'.$mysql_db.'" /var/www_backup'; exec($syntax, $output, $return); echo "output\n"; print_r($output); echo "return\n"; print_r($return); 没有文件被创build,但是这被返回 output Array ( ) return 3 PHP已经可以访问目标目录 chown -R www-data /var/www_backup

rsync详细与最终的统计数据,但没有文件列表

我看到,当我使用-v选项使用rsync时,它会在最后打印更改的文件列表和一些有用的信息,如总传输大小。 是否有可能削减第一(长)部分,只是打印数据? 我在脚本中使用它,日志不应该这么长。 只有统计是有用的。 谢谢。

如何从挂载的硬盘启动恢复模式的MySQL服务

我有一个服务器崩溃,并将我的磁盘安装到/ mnt / 我现在做了所有数据的备份,但确实需要我的mysql数据库的结构和数据。 我想也许是最简单的方法来让MySQL运行,所以我可以做一个数据库转储,我是吗? 已经尝试运行/mnt/etc/init.d/mysql启动 还是有办法复制所有文件,并在我的电脑本地运行数据库? 我坚持,真的需要一些帮助。 提前致谢!

设置Emacs Tramp来存储本地备份

我爱emacs,但一直困扰着我。 当我通过tramp编辑文件时,似乎无法让emacs存储文件的本地备份。 目前,当我编辑本地文件时,一组旧版本存储在/ tmp / myusername / emacs_backup文件夹中。 但是,当我通过stream氓FTP,旧版本不存储在那里(我假设它试图远程存储他们?)。 这是我的.emacs设置: (defvar user-temporary-file-directory (concat "/tmp/" user-login-name "/emacs_backup/")) (make-directory user-temporary-file-directory t) (setq make-backup-files t) (setq backup-by-copying t) (setq version-control t) (setq delete-old-versions t) (setq kept-new-versions 10) (setq backup-directory-alist `(("." . ,user-temporary-file-directory))) (setq tramp-backup-directory-alist backup-directory-alist) (setq tramp-auto-save-directory user-temporary-file-directory) (setq auto-save-list-file-prefix (concat user-temporary-file-directory ".auto-saves-")) (setq auto-save-file-name-transforms `((".*" ,user-temporary-file-directory t))) […]

跟踪块设备上的脏块

我正在寻找一种方法来跟踪块设备上的某个块在某个时间点之后是否被修改。 我最终希望如何使用这个function是让两个2TB磁盘保持同步,每个磁盘一个月只能联机一次(通过USB连接)。 不知道哪个块被修改了,每次都要经过整个2TB。 我正在使用最近的GNU / Linux操作系统,并具有C和Python的经验。 我希望避免编写内核级代码,因为我在这个领域没有任何经验。 我目前的理论是,当执行磁盘刷新时,应该有一些钩子可以调用我的代码。 有任何想法吗?

使用Git在闪存驱动器上进行站点备份

我是新手,如果我完全错过了船,请原谅我。 我在我的笔记本电脑上编写网站,除了Dropbox之外,我希望将我所做的一切都备份到别处。 这是当我学习git的时候。 我知道,它跟踪所有的变化(和承诺),但发生了什么事情,我已经改变了实际的文件? 我想问的可能是最好的例子。 我已经在我的笔记本电脑上设置了一个git repo来pipe理对MySite/及其所有文件和文件夹( index.php , img/ , css/等)所做的所有更改。 我还在闪存驱动器上创build了一个–bare git仓库。 我push原来的回购push到了这个位置。 我能够使用git log成功查看历史,但是当我访问闪存驱动器时,我注意到MySite/的内容不存在(或至less可见)。 你有什么build议,我可以从闪存驱动器工作,然后推动这些变化的笔记本电脑,而仍然能够从笔记本电脑工作,因为我习惯了?