Вы также можете использовать метод compareTo()
для сравнения двух строк. Если результат compareTo равен 0, то две строки равны, в противном случае сравниваемые строки не равны.
==
сравнивает ссылки и не сравнивает фактические строки. Если вы создали каждую строку, используя new String(somestring).intern()
, вы можете использовать оператор ==
для сравнения двух строк, в противном случае могут использоваться только методы equals () или compareTo.
# tar: (c)reate g(z)ip (v)erbose (f)ile [filename.tar.gz] [contents]...
tar -czvf /var/file/bkup.tar.gz /home/code/bots /var/config /var/system
# zip: (r)ecursive [filename.zip] [contents]...
zip -r /var/file/bkup.zip /home/code/bots /var/config /var/system
Проблема, как вы ее описали, не требует bash-скрипта, а только tar
.
tar cvzf /var/file/bkup.tar.gz /home/code/bots/ /var/config/ . . . /var/system/
Вы можете создать для него файл bash, если вы собираетесь запускать его в задании cron для пример и заранее добавьте некоторые другие команды, такие как mysqldump
. Вам необходимо создать файл наподобие backup.sh со следующим содержимым
(Возможно, вам придется изменить путь к bash, вы можете найти bash с помощью , где bash
)
#!/bin/bash
#
# Backup script
#
# Format: YEAR MONTH DAY - HOUR MINUTE SECOND
DATE=$(date +%Y%m%d-%H%M%S)
# MySQL backup file
MYSQLTARGET="/var/file/backup-mysql-$DATE.sql"
# Target file
TARTARGET="/var/file/backup-$DATE.tar.gz"
# MySQL dump
# you cannot have a space between the option and the password. If you omit the password value
# following the --password or -p option on the command line, you are prompted for one.
mysqldump -u root -ppassword --all-databases > $MYSQLTARGET
tar -czvf $TARTARGET $MYSQLTARGET /home/code/bots /var/config /var/system
PS. Это непроверенный код. Это просто пример того, как сценарий bash работает в текущем контексте ответа.