Verifying the Backup Command
Learn what can go wrong with our example backup command.
We'll cover the following...
We'll cover the following...
Let’s check if the following command works correctly.
tar -cjf ~/photo.tar.bz2 ~/photo &&
echo "tar - OK" > results.txt ||
echo "tar - FAILS" > results.txt &&
cp -f ~/photo.tar.bz2 ~/backup &&
echo "cp - OK" >> results.txt ||
echo "cp - FAILS" >> results.txt
We can replace each command call with a Latin letter. Then, we get a convenient form of the boolean expression. The expression looks like this:
B && O1 || F1 && C && O2 || F2
The B
and C
letters represent the tar
and cp
calls. O1
is the echo
call that prints “tar - OK” line in the log file. F1
is the echo
call to print the “tar - FAILS” line. Similarly, O2
and F2
are the commands to log the cp
result.
If the tar
call succeeds, the B
operand of our expression equals true
. Then, Bash performs the sequence of the following steps:
- B
- O1
- C
- O2 or F2
If the tar
fails, the “B” operand equals false. Then Bash does the following steps:
- B
- F1
- C
- O2 or F2
This means that the shell calls the cp
utility even ...