Comments (13)
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.
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.
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.
from rpi-clone.
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.
@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.
from rpi-clone.
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...
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.
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.
from rpi-clone.
Side question: what is the purpose of line 500? :
rm -f $CLONE/etc/udev/rules.d/70-persistent-net.rules
from rpi-clone.
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.
from rpi-clone.
Related Issues (20)
- Feature request: Do not fully use target drive
- SDA partitions created then not found -> abort HOT 34
- Rpi-clone on Debian 12 HOT 6
- sys-clone fails to mount cloned sd card on subsequent sync HOT 10
- I opened a separate issue for this here [https://github.com/billw2/rpi-clone/issues/163](url)
- Use a symbolic link instead of copy to /usr/local/sbin/..
- FATAL: partition mismatch HOT 1
- Problem on Orange Pi 3B, Debian Bookworm cloning from /dev/mmcblk0 to /dev/mvme0n1 HOT 6
- official rpios bookworm issue HOT 172
- RPi5 HOT 3
- Destination Disk Label with Space
- Q: clone to USB Flash Stick for backup; how to restore? HOT 3
- nuc and rpi-clone HOT 1
- Unable to boot after cloning from SD to SSD HOT 5
- rpiclone does not handle copying from microsd to ssd pcie 2.0 nvme raspberry pi5 HOT 1
- A friendly fork of rpi-clone (updated for modern Pi) HOT 3
- Date of clone is not available in log file (solution included)
- My rPi SD Card that I attempted to Clone won't boot anymore HOT 7
- Cloning an MVMe M2 SSD connected to a PCIe NVMe card - Could not stat device /dev/nvme0n1p HOT 2
- rpi-clone -f sdb error: sed: couldn't open temporary file /mnt/clone/boot/firmware/sed3GoEiW: Read-only file system
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rpi-clone.