Kopiowanie projektu

Wygenerowane przez Claude AI

  • kopia całego katalogu projektu do nowego katalogu
  • wykluczenie niektórych katalogów
  • kopia bazy danych z uprawnieniami

Tar z dowolnego katalogu – kopię trzeba odtworzyć z backupu

# tar -czf kopia_crm.tar.gz --exclude="crm/files" --exclude="crm/webroot/projekty" -C /var/www/html crm

Rsync – z dowolnego katalogu – można jako root – atrybuty i uprawnienia plików będą zachowane

# rsync -av --exclude="files" --exclude="webroot/projekty" /var/www/html/crm/ /var/www/html/kopia/

Wszystkie pliki i katalogi z /var/www/html/crm/ (z wyjątkiem wykluczonych) zostaną skopiowane bezpośrednio do /ścieżka/do/katalogu/docelowego/ (/var/www/html/kopia/)

Rsync: Co do kopiowania plików:

  • Jeśli ścieżka docelowa kończy się znakiem / (jak w przykładzie /ścieżka/do/katalogu/docelowego/), wtedy zawartość katalogu /var/www/html/crm/ zostanie skopiowana bezpośrednio do katalogu docelowego. Nie utworzy się dodatkowego katalogu crm w ścieżce docelowej.
  • Jeśli ścieżka docelowa nie kończy się znakiem / (np. /ścieżka/do/katalogu/docelowego), wtedy rsync sprawdzi, czy ten katalog już istnieje:
    • Jeśli istnieje, będzie działać jak wyżej
    • Jeśli nie istnieje, utworzy katalog docelowy i skopiuje do niego zawartość katalogu źródłowego

Kopia Bazy Danych Mysql  Ver 15.1 Distrib 10.1.48-MariaDB

# mysqldump -u [użytkownik] -p --routines --triggers --events [nazwa_bazy] > backup_bazy.sql

Ważne flagi:

  • --routines – uwzględnia procedury i funkcje składowane
  • --triggers – uwzględnia triggery
  • --events – uwzględnia zdarzenia (events)
  • --no-data  – bez danych, sama struktura
  • -p – hasło – prosi o podanie hasła