这是我的一些代码:
gzip -c $path > /var/www/wiki/backup/$now/$file.gz
我正在对
$path
(目录路径)的内容进行gzip压缩,然后将压缩文件发送到/var/www/wiki/backup/$now/$file.gz
。其中$now
包含一个目录名,$file
是我想要写入压缩文件的名称。然而,在运行程序时,我遇到了这个错误:
backup.sh: line 20: /var/www/wiki/backup/Sunday/extensions.gz: No such file or directory
^$now ^$file
(第20行是上面给出的行)
为什么程序会崩溃?我知道Sunday/extensions.gz
不存在(虽然Sunday存在),这就是为什么我要求你写入它的原因!
完整的程序代码:
#!/bin/bash
now=$(date +"%A") mkdir -p /var/www/wiki/backups/$now
databases=(bmshared brickimedia_meta brickimedia_en brickimedia_customs) locations=("/var/www/wiki/skins" "/var/www/wiki/images" "/var/www/wiki/")
for db in ${databases[*]} do #带有密码和shoodle的命令 : done for path in ${locations[*]} do #echo "" > var/www/wiki/backup/$now/$file.gz file=`echo $path | cut -d/ -f5` echo $path gzip -c $path > /var/www/wiki/backup/$now/$file.gz done
gzip
执行时,如果/var/www/wiki/backup/Sunday/
不存在,那么这个错误才有意义。 - chepner