You are not logged in.
Hello:
printf '%s\t%s\n' "hd temp:" "${_drive_temp}°C"
Done.
~$ ssh user@192.168.1.3
--- snip ---
uptime: 9 min
ui: inactive
daemon: running
mem available: 208392 kB
mem free: 222252 kB
sda1 free/used: 3.6M 53%
sda3 free/used: 362.6G 58%
hd temp: 26°C
~$ I prefer Kelvin.
Cool! 8^D
Thank you for your input.
Best,
A.
Hello:
... check it out ...
... report back as soon as I figure out ...
It took me a while, eventually got a decent result.
Trimmed it a bit so that what I get is just the essential information.
This:
#!/bin/sh
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin"
# \t adds tab characters
# \n adds new lines
# %s defines strings which are listed afterwards
# awk can search so no need for grep
_uptime=$(uptime| sed 's/.*up \([^,]*\), .*/\1/')
_rsync_status=$(sudo /etc/init.d/rsyncd status) # OK needs root x ash
_memavail=$(grep -i memavailable /proc/meminfo | cut -c 19-27) # OK no cats harmed
_memfree=$(grep -i memfree /proc/meminfo | cut -c 19-27) # OK no cats harmed
_fs_status1=$(df -h | grep -vE '^Filesystem|/dev/root|tmpfs' | cut -c 6-70 | grep -i sda1 | cut -c 40-50)
_fs_status2=$(df -h | grep -vE '^Filesystem|/dev/root|tmpfs' | cut -c 6-70 | grep -i sda3 | cut -c 40-50)
_drive_temp=$(sudo smartctl -a -d ata /dev/sda | awk '/Temperature/ {print $10}')
printf '%s\t\t%s\n' "uptime:" "$_uptime" # OK
printf '%s\t\t%s\n' "daemon:" "$_rsync_status" # OK
printf '%s\t%s\n' "mem available:" "$_memavail" # OK
printf '%s\t%s\n' "mem free:" "$_memfree" # OK
printf '%s\t%s\n' "sda1 free/used:" "$_fs_status1" # OK
printf '%s\t%s\n' "sda3 free/used:" "$_fs_status2" # OK
printf '%s\t' "hd temp:" "$_drive_temp" # OKGets me this when I ssh to the NAS:
~$ ssh user@192.168.1.3
--- snip ---
uptime: 2:34
daemon: running
mem available: 210064 kB
mem free: 226420 kB
sda1 free/used: 3.6M 53%
sda3 free/used: 362.6G 58%
hd temp: 48
~$ Seems good enough and the info is there.
Could not figure out how to get the °C after the temperature [number] print but it is just for me.
And I've been a Celsius man all my life. =^ )
Your pointers on lines, characters and strings were a big help.
Best,
A.
Edit: spelling/format.
Hello:
#!/bin/sh _uptime=$(uptime|cut -c 2-19) _rsync_status=$(/etc/init.d/rsyncd status) # does not need root! _memavail=$(grep -i memavailable /proc/meminfo) # save those poor cats! _memfree=$(grep -i memfree /proc/meminfo) # ditto _fs_status=$(df -h|awk '/^Filesystem/||/\/dev\/root/||/tmpfs/{ print $5 " " $1}') # awk can search so no need for grep _drive_temp=$(sudo smartctl -d ata -A /dev/sda | grep Temperature | cut -c 5-8,87-89) printf '%s\t\t%s\n\n' "uptime:" "$_uptime" # \t adds tab characters, \n adds new lines, %s defines strings which are listed afterwards printf '%s\t%s\n\n' "rsync daemon status:" "$_rsync_status" printf '%s\n%s\n%s\n\n' "memory status:" "$_mem_avail" "$_mem_free" printf '%s\t%s\n\n' "filesystem status:" "$_fs_status" # might not work :/ printf '%s\t%s\n' "drive temperature" "$_drive_temp"
Right ...
I'll check it out tonight and report back as soon as I figure out how it works.
... trapped in Windows atm ...
You'll manage. ;^ )
... post back later when I'm in a proper OS...
Thank you for your input.
Best,
A.
Hello:
I have this script running on ssh login:
#!/bin/sh
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin"
echo uptime:
# run uptime - no load stats
uptime | cut -c 2-19
echo
echo rsync daemon status:
# run alias daemon
sudo /etc/init.d/rsyncd status
echo
echo memory status:
cat /proc/meminfo | grep -i memavailable && cat /proc/meminfo | grep -i memfree
echo
echo filesystem status:
# run alias fschk
df -h | grep -vE '^Filesystem|/dev/root|tmpfs'| awk '{ print $5 " " $1}'
echo
echo drive temperature:
# run alias tempchk
sudo smartctl -d ata -A /dev/sda | grep Temperature | cut -c 5-8,87-89
echo
echo filesystem health:
# run alias drivechk
sudo dmesg | grep -i ext4-fs | grep -i sdaThis is the terminal printout:
uptime:
10:46:23 up 0 min,
rsync daemon status:
running
memory status:
MemAvailable: 211716 kB
MemFree: 228924 kB
filesystem status:
53% /dev/sda1
58% /dev/sda3
drive temperature:
Temp 22How can I get it to print out in this format?
uptime: 10:46:23 up 0 min,
rsync daemon status: running
memory status:
MemAvailable: 211716 kB
MemFree: 228924 kB
filesystem status: 53% /dev/sda1
58% /dev/sda3
drive temperature: Temp 22Thanks in advance.
Best,
A.
Edit: spelling
Hello:
... completely off-topic for these boards ...
... your continued posting of OpenWRT-related issues on these boards is starting to look like spam.
Hmm ...
spam? 8^D !
spam: noun
unsolicited usually commercial messages (such as emails, text messages, or Internet postings) sent to a large number of recipients or posted in a large number of places
Before I say anything else, I want to say this: I value your opinions, expertise and the help provided to me more than once.
But it seems to me that you are overreacting.
In doing so you are not being rude but much worse than that: you are out of place.
Please don't take my observation personally for it is not personal.
Bear in mind that although my questions do have a relationship to OpenWRT, you may want to consider that although it is not Devuan, both distributions share 1. that they are Linux and 2. they do not use systemd.
And most importantly, my questions are related to uses/tools which are common to both of them.
That said, I'll leave this for the Dev1 admins to opine on and will abide by whatever they decide on the matter.
-------
Edit:
In case you or anyone else is interested, I found a solution to the question with which I started this thread.
Using common Linux tools.
~$ sudo /etc/init.d/rsyncd status
running
~$Added another line to /etc/profile.d/custom.sh: alias daemon="sudo /etc/init.d/rsyncd status"
And that was it.
~$ daemon
running
~$The daemon alias will be part of a script which will run anytime I ssh into the NAS and provide me at a glance with basic stats I want to know when I check on it.
-------
Thank you for your input.
Best,
A.
Hello:
... will show a (colon-separated) list ...
... run that command from OpenWRT then it will probably not have /usr/sbin/ listed ...
But it does:
groucho@OpenWrt:~$ echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin
groucho@OpenWrt:~$ ... ask on the OpenWRT forums instead.
I always look for answers in search engine/s, then here and then elsewhere. In that order. 8^ )
After all OpenWRT is just Linux in a very compact package to fit in embedded systems.
But you have to coax it to do regular Linux things, like adding users and sudoers.d files.
There's always something new to learn.
... not think to try ...
Of course.
:~$ /usr/sbin/service rsyncd status
-ash: /usr/sbin/service: not found
:~$ :~# /usr/sbin/service rsyncd status
-ash: /usr/sbin/service: not found
:~# But ...
:~# service rsyncd status
running
:~# The thing is that the stanza service rsyncd status is not validated by visudo which needs to see a path.
I think this may be related to BusyBox.
Thanks a lot for your input.
Best,
A.
Hello:
... you (again?)
Yes, always ... 8^D
... confused by groucho not having /usr/sbin in PATH (and not /sbin).
Hmm ...
I'm sorry, I think I am being confusing.
The example I show previously is how I run dmesg as sudo in both my main Devuan box and the NAS.
Both my main Devuan box and the NAS have only root and my user (groucho) so it does not matter much.
But you are right, got to fix that.
Now, in my Devuan box, I can find service:
[root@devuan ~]# which service
/usr/sbin/service
[root@devuan ~]# But not in my NAS:
root@OpenWrt:~# which service
root@OpenWrt:~# root@OpenWrt:~# /usr/bin/service
-ash: /usr/bin/service: not found
root@OpenWrt:~# That said, I have not been able to find an example of a sudoers file for this on the web.
Thanks for your input.
Best,
A.
Hello:
When I need to check the status of a service in a Linux box I use this command as root:
:~# service rsyncd status
running
:~# If I want to do this as a user instead of being root, I'd generate a specific sudoers file to add to /etc/sudoers.d.
Like this one I use to run dmesg:
:~$ sudo cat /etc/sudoers.d/user_dmesg
groucho ALL = NOPASSWD:/bin/dmesg
:~$ This because I am convinced that the use of sudo, like a few other things in life, needs to be under check.
I'm at odds with it and can't find a way to get a users_service file that works.
I'd appreciate some help with that.
Thanks in advance,
A.
Hello:
Sorry, that should have been ...
No worries whatsoever, HoaS. ;^ )
Thanks (again) for your input.
Best,
A.
Hello:
... question of mixing amd64 & i386?
Really cannot say for sure.
What I can say is that ~$ apt list | grep installed | grep i386 shows me a list of 203 files.
ie: if I managed to count correctly at this hour.
Save these 10, all the rest are lib***:
~$ apt list | grep installed | grep i386 | more
elogind/oldstable,now 241.4-2 i386 [installed,automatic]
gcc-6-base/now 6.3.0-18+deb9u1 i386 [installed,local]
gcc-8-base/oldstable,now 8.3.0-6 i386 [installed,automatic]
gstreamer1.0-plugins-base/oldstable,oldstable-security,now 1.14.4-2+deb10u1 i386 [installed,automatic]
--- snip ---
mesa-va-drivers/oldstable,now 18.3.6-2+deb10u1 i386 [installed]
mesa-vdpau-drivers/oldstable,now 18.3.6-2+deb10u1 i386 [installed,automatic]
ocl-icd-libopencl1/oldstable,now 2.2.12-2 i386 [installed,automatic]
vdpau-driver-all/oldstable,now 1.1.1-10 i386 [installed,automatic]
wine32/oldstable,now 4.0-2 i386 [installed,automatic]
zlib1g/oldstable-security,now 1:1.2.11.dfsg-1+deb10u1 i386 [installed,automatic]
~$Of the whole of them, 183 were installed,automatic while only 2 were installed,local.
~$ apt list | grep installed | grep i386 | grep local | more
gcc-6-base/now 6.3.0-18+deb9u1 i386 [installed,local]
libicu57/now 57.1-6+deb9u4 i386 [installed,local]
~$ This leaves 17 that are just [installed].
ie: not [automatic] or [local].
There's probably a way to see what pulled these i386 file in.
One application that comes to mind is wine.
Hope it clears up something.
Best,
A.
Hello:
Use apt install --target beowulf-backports rsync libzstd.
No, seems it would not work.
groucho@devuan:~$ sudo apt install --target beowulf-backports rsync libzstd
--- snip ---
E: Command line option --target is not understood in combination with the other options
groucho@devuan:~$ I use aptitude very little, usually with the why option.
Thanks for your input.
Best,
A.
Hello:
Perhaps you'll need to upgrade the i386 version at the same time, by adding libzstd1:i386/beowulf-backports to the install line?
That would seem to do the trick:
groucho@devuan:~$ sudo apt install rsync/beowulf-backports libzstd1/beowulf-backports libzstd1:i386/beowulf-backports
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '3.2.3-3~bpo10+1' (Devuan Backports:3.0.0/oldstable-backports [amd64]) for 'rsync'
Selected version '1.4.4+dfsg-3~bpo10+1' (Devuan Backports:3.0.0/oldstable-backports [amd64]) for 'libzstd1'
Selected version '1.4.4+dfsg-3~bpo10+1' (Devuan Backports:3.0.0/oldstable-backports [i386]) for 'libzstd1:i386'
The following additional packages will be installed:
libxxhash0
Suggested packages:
openssh-server
The following NEW packages will be installed:
libxxhash0
The following packages will be upgraded:
libzstd1 libzstd1:i386 rsync # <- what was needed
3 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. # <- nothing removed
Need to get 840 kB of archives.
After this operation, 41.0 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
groucho@devuan:~$ I'll try that and report later.
Edit:
Minutes later ...
:~$ rsync -V
rsync version 3.2.3 protocol version 31
Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes,
batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv,
symtimes, prealloc, stop-at, no crtimes
Optimizations:
SIMD, asm, openssl-crypto
Checksum list:
xxh64 (xxhash) md5 md4 none
Compress list:
zstd lz4 zlibx zlib none
--- snip ---
:~$ Now the Devuan and OpenWRT versions of rsync match.
Thanks for your input.
Best,
A.
Hello:
Or am I missing something?
Just to check, I thought maybe it was a question of installing libzstd1 1.4.4+dfsg-3~bpo10+1 as libzstd1 1.3.8+dfsg-3+deb10u2 was already installed.
ie: for some reason not being updated and be specifically installed from beowulf-backports.
But when I tried I got this huge list of files that are no longer required/removed:
:~$ sudo apt install libzstd1/beowulf-backports
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '1.4.4+dfsg-3~bpo10+1' (Devuan Backports:3.0.0/oldstable-backports [amd64]) for 'libzstd1'
The following packages were automatically installed and are no longer required:
gstreamer1.0-plugins-base:i386 libaom0:i386 libavresample4:i386 libavutil56:i386
libblkid1:i386 libcairo2:i386 libcapi20-3:i386 libcdparanoia0:i386 libcodec2-0.8.1:i386
libcroco3:i386 libcrystalhd3:i386 libdatrie1:i386 libexif12:i386 libfontconfig1:i386
libfreetype6:i386 libfribidi0:i386 libgcrypt20:i386 libglib2.0-0:i386 libgomp1:i386
libgpg-error0:i386 libgphoto2-port12:i386 libgpm2:i386 libgraphite2-3:i386 libgsm1:i386
libgstreamer-plugins-base1.0-0:i386 libgstreamer1.0-0:i386 libharfbuzz0b:i386
libicu63:i386 libjack-jackd2-0:i386 libmount1:i386 libmp3lame0:i386 libncurses6:i386
libnuma1:i386 libopenjp2-7:i386 libopus0:i386 liborc-0.4-0:i386 libpango-1.0-0:i386
libpangocairo-1.0-0:i386 libpangoft2-1.0-0:i386 libpixman-1-0:i386 libpng16-16:i386
libsamplerate0:i386 libsdl2-2.0-0:i386 libshine3:i386 libsnappy1v5:i386 libsoxr0:i386
libspeex1:i386 libswresample3:i386 libthai0:i386 libtheora0:i386 libtwolame0:i386
libusb-1.0-0:i386 libv4l-0:i386 libv4lconvert0:i386 libva-drm2:i386 libva-x11-2:i386
libvdpau-va-gl1:i386 libvdpau1:i386 libvisual-0.4-0:i386 libvkd3d1:i386 libvpx5:i386
libvulkan1:i386 libwavpack1:i386 libwayland-client0:i386 libwayland-cursor0:i386
libwayland-egl1:i386 libwebp6:i386 libwebpmux3:i386 libx264-155:i386 libx265-165:i386
libxcb-render0:i386 libxcb-shm0:i386 libxcomposite1:i386 libxcursor1:i386 libxinerama1:i386
libxkbcommon0:i386 libxml2:i386l ibxpm4:i386 libxrandr2:i386 libxrender1:i386
libxslt1.1:i386 libxss1:i386 libxvidcore4:i386 libzvbi0:i386 mesa-vdpau-drivers:i386
ocl-icd-libopencl1:i386 vdpau-driver-all:i386
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
libasound2-plugins:i386
libavcodec58:i386
libgd3:i386
libgdk-pixbuf2.0-0:i386
libgphoto2-6:i386
librsvg2-2:i386
librsvg2-common:i386
libtiff5:i386
libwine:i386
libzstd1:i386
wine32:i386
The following packages will be upgraded:
libzstd1
1 upgraded, 0 newly installed, 11 to remove and 0 not upgraded.
Need to get 249 kB of archives.
After this operation, 241 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
:~$ The first thing I notice is that they are all :i386 but I'm not sure of the consequences.
What were they for in the first place?
I'd appreciate an opinion.
Thanks in advance.
Best,
A.
Hello:
My NAS running OpenWRT uses rsync version 3.2.3 protocol version 31 and my Devuan running with a backported kernel uses rsync version 3.1.3 protocol version 31.
beowulf-backports has rsync version 3.2.3-3~bpo10+1, which would be a match.
This is what I get when I try to install it:
:~$ sudo apt install rsync/beowulf-backports
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '3.2.3-3~bpo10+1' (Devuan Backports:3.0.0/oldstable-backports [amd64]) for 'rsync'
Selected version '1.4.4+dfsg-3~bpo10+1' (Devuan Backports:3.0.0/oldstable-backports [amd64]) for 'libzstd1' because of 'rsync'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
rsync : Depends: libzstd1 (>= 1.4.4+dfsg-3~bpo10+1) but 1.3.8+dfsg-3+deb10u2 is to be installed
E: Unable to correct problems, you have held broken packages.
:~$ So ...
Does this mean that I cannot install it because beowulf-backports has libzstd1 1.3.8+dfsg-3+deb10u2 and not 1.4.4+dfsg-3~bpo10+1?
Or am I missing something?
Thanks in advance.
Best,
A.
Hello:
You were on the right track.
Just before dinner I was able to solve the problem via an answer to a post at Stack Exchange.
The problem was in the path for the module/s: it was missing the lowest level.
I had this:
[stuff]
--- snip ---
path = /mnt/sda3
--- snip ---But it should have been this:
[stuff]
--- snip ---
path = /mnt/sda3/stuff
--- snip ---ie: /mnt/sda3/stuff instead of /mnt/sda3
After I fixed it and rsync was working properly, I am getting a ~19MiB transfer rate.
It is not much to write about as this NAS would get 2x that with the original firmware, but ~2.5x what I was getting via ssh.
Thank you very much for your input.
Best,
A.
Hello:
First try ls -ld /stuff on groucho (I suspect you are trying to access a dir in the root directory). If it looks as if the ID should be able to write there then try touch /stuff/test1 as that ID to make sure.
I may be confusing you as my user groucho gets used everywhere.
My Devuan box:
groucho@devuan:~$ ls -ld /media/
drwxr-xr-x 8 root root 4096 Mar 16 16:38 /media/
groucho@devuan:~$
groucho@devuan:~$ ls -ld /media/stuff
drwxr-xr-x 25 groucho groucho 4096 Apr 28 07:32 /media/stuff
groucho@devuan:~$
groucho@devuan:~$ touch /media/stuff/test1
groucho@devuan:~$ ls -ld /media/stuff/test1
-rw-r--r-- 1 groucho groucho 0 Apr 30 13:42 /media/stuff/test1
groucho@devuan:~$ The NAS:
groucho@OpenWrt:~$ ls -ld /mnt/sda3
drwxr-xr-x 5 root root 4096 Apr 28 17:53 /mnt/sda3
groucho@OpenWrt:~$
groucho@OpenWrt:~$ ls -ld /mnt/sda3/stuff
drwxrwxrwx 2 groucho groucho 4096 Apr 29 18:47 /mnt/sda3/stuff
groucho@OpenWrt:~$
groucho@OpenWrt:~$ touch /mnt/sda3/stuff/test1
groucho@OpenWrt:~$ ls -ld /mnt/sda3/stuff/test1
-rw-r--r-- 1 groucho groucho 0 Apr 30 13:44 /mnt/sda3/stuff/test1
groucho@OpenWrt:~$ ... then try rsync -av /media/stuff/firefox.oldfile rsync://groucho@192.168.1.3:stuff (assuming stuff is in your home dir on groucho).
No.
The /home/groucho dir on the NAS is very limited, just for admin use.
Actually, OpenWRT (mostly used in routers) by default only has root access, no users.
The /mnt/sda3/ partition (~1TB) is where everything gets sent.
root@OpenWrt:~# blkid
/dev/sda1: UUID="xxx" BLOCK_SIZE="1024" TYPE="ext2" PARTUUID="xxx"
/dev/sda2: LABEL="rootfs" UUID="yyy" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="yyy"
/dev/sda3: LABEL="data" UUID="zzz" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="zzz"
root@OpenWrt:~# root@OpenWrt:~# mount
--- snip ---
/dev/sda3 on /mnt/sda3 type ext4 (rw,relatime)
--- snip ---
root@OpenWrt:~# Thanks for your input.
Best,
A.
Hello:
I have discovered that the only way to get a half decent link between my Devuan box (GbE port) and my NAS (GbE port) is to use the rsync protocol.
ie: no compression/no encryption with a daemon ie: rsyncd running on one end.
Anyone curious about the details see Can a pocket router go fast?
The problem is that the now ubiquous ssh is only seen a half of what it is: very secure cryptographic network protocol.
What it really is (YMMV) is a very flexible, efficient and easy to use network protocol which also has the ability to be very secure.
Hence the difficulty of being able to use it without encryption.
But I digress.
After a lot of tinkering I have managed to set up an rsync daemon on the NAS as well as the modules required by what I want to do.
eg:
The user is member of the right groups:
:~$ groups
daemon adm mail ftp users network ntp groucho
:~$ The modules relate to the directories receiving the data are all owned by the user:
:/mnt/sda3$ ls -l
drwxrwxrwx 4 groucho groucho 4096 Apr 25 19:03 bkups
drwxrwxrwx 2 groucho groucho 4096 Apr 29 18:47 stuff
drwxrwxrwx 2 groucho groucho 4096 Apr 28 17:53 testdir
:/mnt/sda3$ The directories from where the data is sent (Devuan box) are all owned by the user:
groucho@devuan:/media$ ls -l /media
total 24
drwxr-x--- 2 groucho groucho 4096 Feb 9 19:46 300Gb
drwxr-x--- 5 groucho groucho 4096 Jan 30 18:07 bkups
drwxr-x---+ 2 root root 4096 Apr 21 19:57 groucho
drwxr-xr-x 9 groucho groucho 4096 Apr 28 07:25 storage
drwxr-xr-x 25 groucho groucho 4096 Apr 28 07:32 stuff
groucho@devuan:/media$ The daemon is running:
:~# service rsyncd status
running
:~# The command line is, as far as I can see, correct:
groucho@devuan:~$ rsync -av /media/stuff/firefox.oldfile rsync://groucho@192.168.1.3:/stuffBut, much to my chagrin, the result is not the expected one:
groucho@devuan:~$ rsync -av /media/stuff/firefox.oldfile rsync://groucho@192.168.1.3:/stuff
sending incremental file list
firefox.oldfile
rsync: [receiver] mkstemp "/.firefox.oldfile.pPHKBp" (in stuff) failed: Permission denied (13)
sent 85,833,476 bytes received 134 bytes 24,523,888.57 bytes/sec
total size is 85,812,416 speedup is 1.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
groucho@devuan:~$ But not all is bad news: 24,523,888.57 bytes/sec is 3.5x what I was getting using the NAS's native dropbear application.
The /var/log/rsyncd.log file on the NAS reads:
groucho@OpenWrt:~$ cat /var/log/rsyncd.log
2022/04/29 21:35:42 [2557] connect from UNDETERMINED (192.168.1.2)
2022/04/29 21:35:42 [2557] rsync allowed access on module stuff from UNDETERMINED (192.168.1.2)
2022/04/30 00:35:42 [2557] rsync to stuff/ from UNDETERMINED (192.168.1.2)
2022/04/30 00:35:42 [2557] receiving file list
2022/04/30 00:35:42 [2557] rsync: [receiver] mkstemp "/.firefox.oldfile.lNbFmM" (in stuff) failed: Permission denied (13)
groucho@OpenWrt:~$ The connection is established, rsync is allowed access to the target folder but when rsync attempts to (having received the file) write a temporary copy at destination, for some reason it it fails and the link is cut
Funny that it does not do a premission check before actually sending the file.
In any case, this seems to be a premission issue, probably the most common one rsync can have.
But I have not been able to find a solution.
Could someone shed some light on this for me?
Thanks in advance.
Best,
A.
Hello:
... an old 4 port modem/routrer as a switch.
... a really good piece of advice.
Indeed ...
I had first looked into that option. (See updated post @2022-04-25 17:34:35)
Locally, a used (decent quality) Gb router would cost me a bit more than what I paid for a four/five port unmanaged Gb switch.
So I got one of those. Plug everything up, power it and that's it. Just works.
It has a metal case and is unobstusive (100*98*25) so that once I threw it under the desk, I forgot all about it.
Slipped my mind and neglected to mention it in the post, maybe the old cache is acting up.
Sorry about that.
Thank you both for your input.
Best,
A.
Hello:
Ahh ...
Thanks a lot for that. ;^ )
I'll have a look and see what I get from using that method.
Best,
A.
Hello:
@OP: create a file at /etc/sysctl.d/reisub.conf ...
Yes.
Creating the file in my box made it work.
And yes, it did work before without the /etc/sysctl.d/reisub.conf file.
Now, how long ago was before, I have not had a chance to use it much, so I really can't say.
O.
Hello:
... can't actually disable encryption over ssh ...
... use a simple cipher like Blowfish ...# rsync -e "ssh -o compression=no -c blowfish" -a -stats ~/media/bckups root@192.168.1.3:/mnt/sda3
I'm afraid that dropbear does not do blowfish.
~$ rsync -e "ssh -o compression=no -c blowfish" -a --stats /media/bckups root@192.168.1.3:/mnt/sda3
Unknown cipher type 'blowfish'
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.3]
~$ See: https://dropbear.nl/mirror/CHANGES
CBC ciphers, 3DES, hmac-sha1-96, and x11 forwarding are now disabled by default.
They can be set in localoptions.h if required.
Blowfish has been removed.
... without encryption use rsh instead, as supplied by the rsh-client & rsh-server packages ...
Unfortunately, I have not found the rsh package in the OpenWRT repository so that's a dead end.
Looking around for similar situations, I found this:
https://www.glidk.com/2021/12/22/benchm … ppy-router
It's a post by a chap using a small travel router with a lower spec than the WD-MBL:
Brand/Name WD-MBL GL-AR750
CPU: PowePC 44x Qualcomm Atheros
Model: APM82181 QCA9531
CPU Cores: 1 1
CPU MHz: 800 650 <----- #
Flash Mb: 512 16
RAM MB: 256 128 <----- #
BogoMIPS: 1600 432.53 <----- # It would seem that he achieved speeds using just the rsync protocol and bypassing ssh.
I don't undertand how he's set this up and cannot find how to contact the guy.
The WD-MBL, save for the HDD/SD card difference, seems to be much heftier.
Could I be able to get at least his 10.0Mb/s?
Can you make any sense of what he's done there?
Thanks in advance.
A.
Hello:
... backup my desktop and nas with rclone ("rsync for the cloud") ...
Hmm ...
Sorry, I don't do anything cloudy and have no trust in that type of thing.
But that's just me, YMMV.
Notwithstanding, thank you very much for your input. ;^)
Best,
A.
Hello:
Disable encryption for rsync operations over ssh ...
My box has an on-board 82566DM-2 Gigabit Network adapter.
The WD My Book NAS has a Gigabit Ethernet port.
---
Forgot to mention that at this point I purchased/installed a four/five port unmanaged Gb switch (TL-SG105).
---
Part of this problem had to do with the CAT5e cables I was using.
Found out when I used ethtool to check the on-board ethernet adapter on the NAS and saw it was reporting 100M:
root@OpenWrt:~# ethtool eth0
Settings for eth0:
--- snip ---
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 100Mb/s <-------------------------- #####
Duplex: Full
--- snip ---
root@OpenWrt:~# With a set of new CAT5e cables and properly negotiating 1000Mb/s between my box and the NAS, I tested the link with iperf:
root@OpenWrt:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.3 port 5001 connected with 192.168.1.2 port 35408
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 771 MBytes 645 Mbits/sec
root@OpenWrt:~# groucho@devuan:~$ iperf -c 192.168.1.3
------------------------------------------------------------
Client connecting to 192.168.1.3, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.2 port 35408 connected with 192.168.1.3 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 771 MBytes 646 Mbits/sec
pcl@devuan:~$ Good enough, I guess.
But I was expecting something like the 94Mb /s I get between the NAS and my netbook which has a 10/100 ethernet adapter.
ie: if with a 10/100 connection I can get 94% of 100M, I was expecting at least 85% from the box to NAS connection at 1000M - 850 Mbits /s instead of 645 Mbits /s.
I'm assuming it is proportional, it probably isn't.
I've just finished running the same rsync job that took over 18 hours (first time/empty destination) the last time I ran it ie: before switching all the patch cables for new CAT5e ones and as a result getting the iperf speeds reported above, 646 Mbits/sec
All through the job, my conky panel reported a speed of ~7.45MiB /s
Incoming: 114KiB /s
Outgoing: 7.46MiB /sThese were the NAS's CPU/Memory loads during the job:
PID Owner CPU Mem Process
213 root 9% 0% kswapd0
1904 root 67% 0% Dropbear
1905 root 0% 7% rsync --server
1906 root 22% 13% rsync --serverMy guess is that NAS's CPU is totally maxed out.
ie: just kswap 9% + dropbear 67% + rsync 22% =>>> 98%
dropbear is the SSH2 server/client included in OpenWRT installation image, only 82k.
Evidently, with this hardware* a 67% CPU load is rather expensive to run.
*Applied Micro APM82181 @800 MHz + 256 MB RAM
... use rsh instead of ssh (but only do the latter on a local network ...
I don't really neeed encryption as it is all local traffic.
ie: going nowhere else but from a back-up drive inside my box to the NAS under my desk.
But I do need rsync.
I use ssh to login to the NAS, how do I disable encryption?
Have never used/heard of rsh, have to look it up.
Thank you very much for your input.
Best,
A.
Hello:
... fixed the bug with patches that introduced more bugs?
Yes ...
Which would mean that maybe they really didn't fix anything.
ie: just made it worse.
Fortunately I was able to purge that from my box.
Best,
A.
Hello:
... had been very similiar to yours ...
Probably with the same infamous Telefonica ADSL routers. 8^|
You are correct ...
... with 4 up to 16 ports.
Great.
But I have no need for more than 4 ports at the moment.
Unless I get a very good price for one with more.
Thanks a lot for for your input.
Best,
A.