Code Monkey home page Code Monkey logo

Comments (13)

Bombdogs avatar Bombdogs commented on September 24, 2024

Quick note to say that I was expecting to fall foul of this (3TB mounted ntfs drive for a plex-server) but didn't - process worked flawlessly. So this issue might be system/setup specific... @chrissv might be worth posting more detail on your particular setup and the rpi-clone output.

from rpi-clone.

chrissv avatar chrissv commented on September 24, 2024

Here is some detail for my system:

root@xxx:~# df
Filesystem      1K-blocks       Used  Available Use% Mounted on
/dev/root        15186900    3561308   10958256  25% /
devtmpfs           469532          0     469532   0% /dev
tmpfs               94776       1380      93396   2% /run
tmpfs                5120          0       5120   0% /run/lock
tmpfs              189540          0     189540   0% /run/shm
/dev/mmcblk0p1      57288      21720      35568  38% /boot
/dev/sdc1      2930264060 1674459784 1255804276  58% /toshiba
none               473864          0     473864   0% /sys/fs/cgroup

root@xxx:~# mount
/dev/root on / type ext4 (rw,noatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=469532k,nr_inodes=117383,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=94776k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=189540k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdc1 on /toshiba type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
none on /sys/fs/cgroup type tmpfs (rw,relatime)
none on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)

The problem for me was the /toshiba mount point - rpi-clone tried to include that in the clone operation without the 'x' rsync option added.

from rpi-clone.

Bombdogs avatar Bombdogs commented on September 24, 2024

Ahha moment of clarity - my media drive is mounted to /mnt/plex-library and /mnt/ has been specifically excluded in the rsync options.... because that's where the clone is stored (line 450).

I'd agree that it's very rare that you'd ever want this to cross the filesystem boundary, so I'd +1 re-addition of the -x option to the rsync options to be a bit more friendly to varied setups.

@billw2 perhaps make this an option if you think it's necessary to be included? Happy to submit a pull request if you take them?

from rpi-clone.

billw2 avatar billw2 commented on September 24, 2024

from rpi-clone.

chrissv avatar chrissv commented on September 24, 2024

An alternate solution might be a command line argument (or ENV variable) of additional mount points to ignore. It could be added to the existing list of ignoring in the script.

from rpi-clone.

SpoddyCoder avatar SpoddyCoder commented on September 24, 2024

@chrissv @billw2 This is my personal account - previously posts were under work alias. I've just submitted a pull request with some improved cross filesystem handling.

Bill - I think your first instinct was correct - split the rsync into two separate processes. I added a --cross-filesystem switch for those wishing to maintain existing behaviour - tho I suspect usage of this will be rare, so made no cross filesystem default behaviour - hope it makes the cut :)

from rpi-clone.

billw2 avatar billw2 commented on September 24, 2024

from rpi-clone.

SpoddyCoder avatar SpoddyCoder commented on September 24, 2024

Yep understood @billw2 - of course I tested a range of use cases before submitting the pull request too :)

@chrissv you may also help out here with the regression testing - you can grab new version here...

https://raw.githubusercontent.com/SpoddyCoder/rpi-clone/a37954c93020b74247ee9546b856b6c53d6e48ba/rpi-clone

And try it out for size on your system (take a backup first) - please let us know if you hit any issues.

from rpi-clone.

chrissv avatar chrissv commented on September 24, 2024

Just gave it a try, and it seemed to work. I enabled -x and -v and watched it, and it skipped my /toshiba mount as planned.

Thanks - looks good.

from rpi-clone.

billw2 avatar billw2 commented on September 24, 2024

from rpi-clone.

chrissv avatar chrissv commented on September 24, 2024

Side question: what is the purpose of line 500? :

rm -f $CLONE/etc/udev/rules.d/70-persistent-net.rules

from rpi-clone.

SpoddyCoder avatar SpoddyCoder commented on September 24, 2024

This is created at boot time so any clone will automatically generate it. @billw2 will know the removal reason better than me - but I suspect it's because it will contain MAC address info which is not ideal to have in place on actual clones (different machines) - tho this is no problem for a plain backup (same machine).

@billw2 thanks for accepting the pull request and happy to contribute. Also nice to see the /mnt /media excludes go 👍

@chrissv nice to see it working on your system - you can now close this issue up :)

from rpi-clone.

billw2 avatar billw2 commented on September 24, 2024

from rpi-clone.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.