我有这个命令
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控制台相同。
答案 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
你说:
我认为,bash脚本与Putty等SSH控制台相同。
确保它们彼此相同,但通过Linux使用终端更加容易