我目前在缓存方面遇到了一些问题。现在有点太多了,所以我想清除它。我用谷歌搜索并找到了这个小命令:sync && echo 3 > /proc/sys/vm/drop_caches.
我通过 SSH 以 root 身份登录(不使用 sudo)。这些是我所做的尝试:
root@server: ~ # ll /proc/sys/vm/drop_caches
-rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches
root@server: ~ # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied
root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
bash: /proc/sys/vm/drop_caches: Permission denied
root@server: ~ # echo 3 | sudo tee /proc/sys/vm/drop_caches
tee: /proc/sys/vm/drop_caches: Permission denied
3
Run Code Online (Sandbox Code Playgroud)
它是一台运行 Debian 的远程机器。据我所知,这台机器中有一些 vCore,它使用 Virtuozzo 进行虚拟化。
我真的只想清除缓存(所以我只能使用 SSH 访问它)。
我也尝试将其注册为 cronjob。但它也只是失败了!
我只是注意到在 Linux 上的 shell 中-e似乎不存在该echo命令的标志。这只是一个混乱的设置还是“正常”?
一些代码为例:
#!/bin/sh
echo -e "\e[3;12r\e[3H"
Run Code Online (Sandbox Code Playgroud)
印刷:
-e \e[3;12r\e[3H
Run Code Online (Sandbox Code Playgroud)
这以前有效!我猜有些stty命令出错了,现在它不再起作用了。有人建议我sh实际上只是bash.
我正在尝试在 bash 脚本中创建一个函数方法,该脚本执行由参数提供给该方法的命令。
意思是这样的:
special_execute()
{
# Some code
# Here's the point where the command gets executed
$@
# More code
}
special_execute echo "abc"
Run Code Online (Sandbox Code Playgroud)
我已经尝试过我$@,"$@",$*,"$*"我怎么能这样做呢?
这听起来可能很奇怪,但我知道如何在 Bash 中设置垂直光标位置,如下所示:
echo -e "\e[12H"
Run Code Online (Sandbox Code Playgroud)
这会将光标移动到第 12 行(从 1 开始)。
那么如何使用 linux bash 获取光标位置(行号)?如果我可以简单地将此值存储在一个变量中,以便我可以用它进行计算,那将会很有帮助。
编辑:
这是我得到的错误:
$ sh rowcol.sh
-en
read: 9: Illegal option -d
test.sh: 12: Bad substitution
Run Code Online (Sandbox Code Playgroud) 我需要一系列命令或单个命令,直到下一次出现“4:00”等特定时间。
我该怎么做?
该at命令或一个cronjob不是一个选项,因为我不能离开这个剧本目前在我。
我所说的具体情况是在屏幕中运行的脚本。非常重要的是,我不会通过脚本本身停止脚本的执行,因为脚本的某些点需要存储许多重要的变量。脚本并不总是应该以常规方式执行。它只需要在特定时间执行。
如果脚本必须创建任何文件或任何其他任务(例如 cronjobs 或其他屏幕),那将是非常有益的。这只是一个设计问题。
我只是有一个很棒的想法:
difference=$(($(date -d "4:00" +%s) - $(date +%s)))
if [ $difference -lt 0 ]
then
sleep $((86400 + difference))
else
sleep $difference
fi
Run Code Online (Sandbox Code Playgroud)
你有什么更好的想法吗?
如果需要,将添加更多信息!
我想在远程机器上备份我的一些非常重要的数据。
目前我只是使用以下命令将它保存到我的本地机器上:tar -cvjf ~/backups/Backup.tar.bz2 ~/importantfiles/*
我不想使用另一个命令将它传输到远程机器,这意味着我只想升级这个命令,以便它可以将数据传输到远程机器。
这被设计为稍后在脚本中单独运行,这意味着任何类型的所需用户输入都将完全搞砸!
就像是
tar -cvjf sftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
tar -cvjf ftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
Run Code Online (Sandbox Code Playgroud)
将会是完美的!(没有管道(等),只有一个命令!)
我目前在运行 Java 时遇到了一些问题。由于堆问题,它不会启动。但是我有超过 9 GB 的可用内存(如果您认为缓存是空的,甚至是 16 GB)。这是我得到的错误(和free命令)
root@server: ~ # java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
root@server: ~ # free
total used free shared buffers cached
Mem: 25165824 15941148 9224676 0 0 7082176
-/+ buffers/cache: 8858972 16306852
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
我在虚拟化服务器上运行 64 位 Debian。虚拟化软件是 OpenVZ。这是我的 Java 版本(我可以在停止两个 VM(当前正在运行的 4 …
我一直试图让它工作几个小时!
我想建立一个简单的网络服务器。我的网络文件应在/var/www. 我也想要phpmyadmin。我创建了一个目录/var/phpmyadmin。现在我想以标准方式访问普通的网络文件。
例如:该文件/var/www/test.php应该是可访问的http://localhost/test.php。
phpmyadmin 部分应该是这样的:http://localhost/phpmyadmin. 使用下面的配置,我得到一个 404。还有这个 URL:http://localhost/phpmyadmin/index.php
为此,我在 nginx 的 sites-availble 文件夹中创建了这个文件:
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default_server ipv6only=on; ## listen for ipv6
root /var/www;
index index.html index.htm index.php;
try_files $uri $uri/ $uri/index.html $uri/index.htm $uri/index.php;
# This didn't work
location /phpmyadmin/ {
alias /var/phpmyadmin;
}
# And this did neither. (Never used both at the same …Run Code Online (Sandbox Code Playgroud) 我刚刚将 MariaDB 安装升级到 10.2。
当我现在尝试启动该服务时,它告诉我它失败了,检查状态向我显示了这条相当奇怪的消息:
root@server # systemctl status mariadb
* mariadb.service - MariaDB 10.2.20 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
`-migrated-from-my.cnf-settings.conf
Active: failed (Result: exit-code) since Wed 2018-12-26 01:54:50 CET; 9min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 13690 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=127)
Main PID: 10811 (code=exited, status=0/SUCCESS)
CPU: 0
Dec 26 01:54:50 server systemd[1]: Starting MariaDB 10.2.20 database server...
Dec 26 01:54:50 server systemd[1]: mariadb.service: Control process exited, …Run Code Online (Sandbox Code Playgroud) bash ×4
debian ×2
linux ×2
shell ×2
bash-script ×1
command ×1
date ×1
echo ×1
exit-status ×1
ftp ×1
function ×1
gnu-screen ×1
java ×1
kill ×1
mariadb ×1
nginx ×1
openvz ×1
parameter ×1
permissions ×1
phpmyadmin ×1
proc ×1
ram ×1
remote ×1
services ×1
sftp ×1
sleep ×1
systemd ×1
tar ×1
terminal ×1
time ×1
webserver ×1