我设置了一个脚本来将我的 /var/www
目录自动备份到 /root/Dropbox
。
当 Cron 执行脚本时,备份文件将移动到 /root/
而不是 /root/Dropbox/
。我已将 Dropbox 目录的权限设置为 722
,因此写入该目录应该没有问题。
脚本如下:
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.
最佳答案
正如@La Kantara所说,这一行
if tar -zcvf site-www-var-$NOW.tar.gz '/var/www'; then
可能会在执行该命令的用户的当前工作目录
中创建 tarball 文件。
因此,我只需更改 tar
命令以使用 tarball 的完整文件路径。
if tar -zcvf /root/Dropbox/site-www-var-$NOW.tar.gz '/var/www'; then
^^^ ^^^^^^^
在这种情况下,您的 mv
命令也会变得多余
关于linux - 通过 linux .sh 脚本移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33388377/