bash脚本与SSH控制台不同

时间:2014-03-03 18:36:06

标签: linux bash ssh debian sh

我有这个命令

tar -czf /var/log/apache2/logfile_backups/dBackup_$(date "+%d-%m-%Y").tar.gz /var/log/apache2/ --exclude=/var/log/apache2/logfile_backups --exclude='*.sh'

首先 ,我在SSH-Console(Putty)中运行此命令,一切正常!

第二次 ,我写了一个bash-Script(myscript.sh)

#!/bin/bash
tar -czf /var/log/apache2/logfile_backups/dBackup_$(date "+%d-%m-%Y").tar.gz /var/log/apache2/ --exclude=/var/log/apache2/logfile_backups --exclude='*.sh'

使用bash ./myscript.sh在SSH控制台中启动此脚本,但最后的结果不一样。 tar - 命令忽略第二个--exclude参数。

怎么了? 我认为,bash脚本与Putty这样的SSH控制台相同。

1 个答案:

答案 0 :(得分:0)

我在网上找到了一个例子:

一个简单的备份脚本是:

#!/bin/bash          
OF=/var/my-backup-$(date +%Y%m%d).tgz
tar -cZf $OF /home/me/

因此,请尝试将命令更改为:

tar  -cZf /var/log/apache2/logfile_backups/dBackup_$(date +%Y%m%d).tgz.gz /var/log/apache2/ --exclude=/var/log/apache2/logfile_backups --exclude='*.sh'

1)你使用什么发行版?

2)您是否正好在一台服务器上运行命令和脚本?

3)尝试chmod +x script.sh,然后通过说./scipt.sh

来调用它

4)通过说tar --version

指定tar版本

你说:

我认为,bash脚本与Putty等SSH控制台相同。

确保它们彼此相同,但通过Linux使用终端更加容易