通过linux .sh脚本移动文件

时间:2015-10-28 10:19:28

标签: linux bash shell

我已设置脚本以执行/root/Dropbox目录到/root/的自动备份。

当Cron执行脚本时,备份文件将移至/root/Dropbox/而不是722。我已将Dropbox目录的权限设置为NOW=$(date +"%Y-%m-%d-%H-%M") #backup site if tar -zcvf site-www-var-$NOW.tar.gz '/var/www'; then echo "Backup of data created." 1>&2 if mv /home/site-www-var-* /root/Dropbox/; then echo "Data Moved." 1>&2 else echo "Data move failed." 1>&2 exit 1 fi else echo "Data backup failed." 1>&2 exit 1 fi ,因此写入它应该没有问题。

脚本如下:

Backup of data created.
Data Moved.

输出如下:

{{1}}

2 个答案:

答案 0 :(得分:1)

正如@La Kantara所说,这一行

if tar -zcvf site-www-var-$NOW.tar.gz '/var/www'; then

可能会在执行该命令的用户的Current working directory中创建tarball文件。

因此,我只需更改tar命令即可​​使用tarball的完整文件路径。

if tar -zcvf /root/Dropbox/site-www-var-$NOW.tar.gz '/var/www'; then
              ^^^  ^^^^^^^

在这种情况下,您的mv命令也会变得多余

答案 1 :(得分:-1)

如果tar -zcvf site-www-var- $ NOW.tar.gz'/ var / www';然后

如果tar -zcvf /root/Dropbox/site-www-var-$NOW.tar.gz'/ var / www';然后