Tag: bash

您将如何通过SSH备份远程Ubuntu VPS?

所以,正如我所说,我有一个VPS,Raspberry Pi和一个计划,但我需要一些建议,所以这里。 我有一个与prgmr.com的VPS,我很好,运行顺利,没有任何问题。 我还有一个新的RaspberryPi坐在我的桌子上,随着我输入的Raspberrian下载。 我的计划是在家里使用Raspberry Pi作为备份服务器,所以我的问题是: 您将如何通过SSH备份远程Ubuntu VPS? VPS被设置为一个Web服务器,但是我想在Pi上设置一个cron作业,这样它就可以自动登录到VPS并运行然后下载一个备份,只是因为我设法阻止事情或其他事情发生这导致我丢失数据。 当然,我希望这个备份包含所有内容,以便我可以快速恢复整个服务器,如果情况变坏,所有配置都很好。 你会如何运行这种备份? 我想我必须在SSH中编写某种bash脚本,将所有相关文件压缩成tar.gz或类似文件,并将图像下载到SCP。 你对此有何看法? 您将使用哪些包等,以及如何配置它? VPS上有一个LAMP堆栈,那么您打算备份哪些文件? 它还有许多其他较小的程序,如GIT和ZendTools安装。

获取bash历史记录只记住以空格为前缀的命令!

在终端中执行的以空格为前缀的命令不会记录在命令历史文件中。 但有没有办法反过来,即历史应该只记录那些以空格为前缀的?

当我将ls的输出重定向到文件时,Bash返回权限被拒绝错误

我目前正在研究shell命令,其中一个练习包括创建一个包含各种目录和子目录的结构。 我写了ls -laR > hello ,它应该创建一个名为hello的文本文件。 但是,我得到以下消息bash: hello: permission denied ,即使我在开头键入sudo。 该命令在另一个Linux发行版中有效。 另外,我在几分钟前使用ls -la在我想要创建文件的目录中,它给了我这个: drwxr-xr-x 2 root root 4096 Nov 26 10:56 . drwxr-xr-x 5 root root 4096 Nov 26 10:56 .. 根据第一个三合会我有写权限?

没有密钥身份validation的SSH上的无密码Rsync

我想设置一个通过SSH连接的RSync作业。 我有我的电脑(备份@myhost)和远程主机(测试@ remhost),我需要备份文件夹〜/包含所有内容的东西。 ssh用户测试只对〜/文件夹中的所有文件和文件夹具有READ访问权限。 我想使用rsync将test @ remhost:〜/ something文件夹复制到backup @ myhost:〜/ bak文件夹中。 为此,我在Ubuntu 11.10(Oneiric)上通过BASH使用以下命令: rsync -avz -e ssh test@remhost:~/something/ ~/bak/ 点击进入后我得到了这个: test@remhost’s password: 我键入密码和rsync工作。 我想让上面的命令自动输入密码并将其作为参数传递或自动输入并启动作业。 我尝试执行rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/但它仍然要求输入密码,这很烦人。 我不想听到任何类型的密钥(RSA,DSA或任何其他密钥)。 我只想要一个简单的命令来登录并完成工作。 编辑:可能的情况可能是,如果公钥validation被禁用,你不能改变它。 例如,如果您使用OpenSSH,则需要在服务器上具有root权限才能编辑文件sshd_config并添加PubkeyAuthentication yes 。 编辑:这是最终为我工作的: sshpass -p ‘sshpassword’ rsync –progress -avz -e ssh test@remhost:~/something/ ~/bak/ 请注意,此方法不被认为是安全的,因为它以纯文本forms发送密码,并且容易受到中间人攻击。 建议使用密钥身份validation以提高安全性。

chsh -s / usr / bin / zsh不能正常工作

我正在尝试使用chsh命令永久地将我的shell更改为zsh,但它无法正常工作。 zsh是安装的(通过apt),当我直接从bash提示终端调用它时工作正常。 但是默认情况下我无法在终端中加载zsh,而chsh正在做一些奇怪的事情: $> echo $SHELL /bin/bash $> which zsh /usr/bin/zsh $> chsh -s /usr/bin/zsh Password: $> echo $SHELL /bin/bash $> grep kurtosis /etc/passwd kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh 看来chsh设法正确地改变了/ etc / passwd,而不是$ SHELL env变量。 因此,新终端总是以bash而不是zsh开始。 我不确定在哪里解决这个问题。 .bashrc ,即使在指定shell之前没有调用它? 任何帮助赞赏。

Android SDK和路径

由于我已经将Android开发工具包作为一个包下载(sdk,eclipse捆绑在一起),我将其解压缩到/opt/android/sdk 我运行命令nano ~/.bashrc命令并打开文件。 现在我将路径设置如下 export PATH=${PATH}:/opt/android/sdk/tools export PATH=${PATH}:/opt/android/sdk/platform-tools export ANDROID_SDK_HOME ={PATH}:/opt/android/sdk 但它似乎没有任何帮助,当我在命令提示符下运行ddms ,我收到错误消息,说no command ddmds found 。 如果我们在Windows中正确设置路径变量, ddms命令将正常工作。 我认为我设置路径的方式有问题。 有人可以帮助我。 谢谢。

命令中 – (一个连字符)和 – (两个连字符)之间的区别是什么?

两者似乎都是旗帜,但有什么区别?

什么是DOS的暂停命令的bash等价物?

我需要在shell脚本上暂停以在继续之前显示警告。 例如,在DOS上它是这样的: doit.bat: […] echo ‘Are you sure? Press Ctrl-C to abort, enter to continue.’ pause […] 我怎么能在bash上这样做? 目前,睡眠命令似乎可以解决问题并且很简单,但并不完全是这样的想法: doit.sh […] echo ‘Are you sure? Press Ctrl-C to abort.’ sleep 3 […]

每5分钟运行一次.sh

我有一个.sh脚本,从日本卫星的服务器下载照片并将其设置为背景图片。 我把它放入启动列表中,但是我如何自动运行它,比如5分钟?

nodejs的别名为14.04上的节点

我在14.04上安装了apt-get nodejs 当我做nodejs -v v0.10.25 当我做node -v node : command not found. 所以我想将nodejs别名改为node 我在~/.bashrc插入了一行 alias node=nodejs 现在我可以在终端中使用node访问nodejs 。 但在我的项目中,我使用grunt通过gruntfile.js触发gruntfile.js 。 现在nodemon尝试运行node而不是nodejs 所以我再次得到相同的问题node : command not found 。 因此别名不适用于非交互式非登录shell。 我应该在哪里为这个特定目的制作别名并解决我的问题?