Portál AbcLinuxu, 8. května 2025 11:05

Dotaz: Backup na sietovy disk (cifs), script

28.10.2010 16:20 xadam | skóre: 1 | blog: adam
Backup na sietovy disk (cifs), script
Přečteno: 346×
Odpovědět | Admin
Zdravím Vás, Neviem či som už jeleň alebo ešte nie :o) ale mám problém napísať jeden backup script pomocou rdiff-backup ktorý má robiť inkrementálne zálohy na externý disk (cifs filesystem).

(os: debian lenny)
#!/bin/bash

#Cesty $source a $target
source="/"
targetDisc="/mnt/externalBackupDisc"
targetDiscFolder="/mnt/externalBackupDisc/incrementalBackup"

#Ako dlho udrziavat stare backupy
period="12W"

#excluded directory
e1="/bin"
e2="/boot"
e3="/cdrom"
e4="/dev"
e5="/lib"
e6="/lost+found"
e7="/media"
e8="/mnt"
e9="/new"
e10="/opt"
e11="/proc"
e12="/sbin"
e13="/selinux"
e14="/srv"
e15="/sys"
e16="/tmp"
e17="/usr"

#----

mount -t cifs //192.168.1.10/backupFolder $targetDisc -o username=backup,password=backup

rdiff-backup --exclude-device-files --exclude-sockets --print-statistics --preserve-numerical-ids --no-hard-links --exclude-special-files --exclude $e1 --exclude $e2 --exclude $e3 --exclude $e4 --exclude $e5 --exclude $e6 --exclude $e7 -
-exclude $e8 --exclude $e9 --exclude $e10 --exclude $e11 --exclude $e12 --exclude $e13 --exclude $e14 --exclude $e15 --exclude $e16 --exclude $e17 $source $targetDiscFolder

#Odstrani stare backupy
rdiff-backup --remove-older-than $period --force $targetDiscFolder

umount $targetDisc

Vždy skončím pri chybe:

Exception '' raised of class '< type 'exceptions.AssertionError'>':
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 280, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 334, in Backup
    rpout.conn.fs_abilities.backup_set_globals(rpin, force)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 919, in backup_set_globals
    dest_fsa = FSAbilities('destination').init_readwrite(Globals.rbdir)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 156, in init_readwrite
    self.set_case_sensitive_readwrite(subdir)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 304, in set_case_sensitive_readwrite
    assert not upper_a.lstat()

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 30, in < module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 280, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 334, in Backup
    rpout.conn.fs_abilities.backup_set_globals(rpin, force)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 919, in backup_set_globals
    dest_fsa = FSAbilities('destination').init_readwrite(Globals.rbdir)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 156, in init_readwrite
    self.set_case_sensitive_readwrite(subdir)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 304, in set_case_sensitive_readwrite
    assert not upper_a.lstat()
AssertionError
Exception '' raised of class '< type 'exceptions.AssertionError'>':
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 288, in take_action
    elif action == "remove-older-than": RemoveOlderThan(rps[0])
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 745, in RemoveOlderThan
    rootrp = require_root_set(rootrp, 0)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 719, in require_root_set
    read_only)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 973, in single_set_globals
    else: fsa = FSAbilities(rp.path).init_readwrite(rp)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 156, in init_readwrite
    self.set_case_sensitive_readwrite(subdir)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 304, in set_case_sensitive_readwrite
    assert not upper_a.lstat()

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 30, in < module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 288, in take_action
    elif action == "remove-older-than": RemoveOlderThan(rps[0])
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 745, in RemoveOlderThan
    rootrp = require_root_set(rootrp, 0)
  File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 719, in require_root_set
    read_only)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 973, in single_set_globals
    else: fsa = FSAbilities(rp.path).init_readwrite(rp)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 156, in init_readwrite
    self.set_case_sensitive_readwrite(subdir)
  File "/var/lib/python-support/python2.5/rdiff_backup/fs_abilities.py", line 304, in set_case_sensitive_readwrite
    assert not upper_a.lstat()
AssertionError

Viete mi niekto poradiť kde môže byť chyba? Ďakujem za rady.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.10.2010 20:17 Vojtech Jaros
Rozbalit Rozbalit vše Re: Backup na sietovy disk (cifs), script
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mas zvlastni styl psani skriptu. Co zkusit zalohovat jen to co chces napr. pomoci cyklu for. Nebudes muset excludovat 17 slozek. Jaky mas system? Jakou verzi r-b? Je updatovany? Ja pouzivam r-b ve verzi 1.2.8 pro zalohovani nekolika serveru a nemam s nim problem. Zkusil bych vyrazovaci metodu. Pustit r-b na jedne slozce, pripadne i s verbosity a sledovat, na cem vyhori. Pokud to spoustis cronem, doporucuju kontrolovat vystupni hodnoty z mount pro pripad, ze se nepodari pripojit disk, napr.

mount -t cifs //192.168.1.10/... || echo "Nepodarilo se pripojit disk"

nebo

if [ "$?" != 0 ]

Zahledl jsem "require_root_set". Nemuze byt problem s pravy?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.